3232
3333namespace ads
3434{
35+ static const char * const FocusedDockWidgetProperty = " FocusedDockWidget" ;
36+
3537/* *
3638 * Private data class of CDockFocusController class (pimpl)
3739 */
@@ -57,8 +59,8 @@ struct DockFocusControllerPrivate
5759 * the dock area that it belongs to
5860 */
5961 void updateDockWidgetFocus (CDockWidget* DockWidget);
60- };
61- // struct DockFocusControllerPrivate
62+ }; // struct DockFocusControllerPrivate
63+
6264
6365
6466// ===========================================================================
@@ -125,7 +127,7 @@ void DockFocusControllerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget)
125127
126128 if (Window)
127129 {
128- Window->setProperty (" FocusedDockWidget " , QVariant::fromValue<CDockWidget* >(DockWidget));
130+ Window->setProperty (FocusedDockWidgetProperty , QVariant::fromValue (QPointer <CDockWidget>(DockWidget) ));
129131 }
130132 CDockAreaWidget* NewFocusedDockArea = nullptr ;
131133 if (FocusedDockWidget)
@@ -161,7 +163,7 @@ void DockFocusControllerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget)
161163
162164 if (NewFloatingWidget)
163165 {
164- NewFloatingWidget->setProperty (" FocusedDockWidget " , QVariant::fromValue (DockWidget));
166+ NewFloatingWidget->setProperty (FocusedDockWidgetProperty , QVariant::fromValue (QPointer<CDockWidget>( DockWidget) ));
165167 }
166168
167169
@@ -243,13 +245,13 @@ void CDockFocusController::onFocusWindowChanged(QWindow *focusWindow)
243245 return ;
244246 }
245247
246- auto vDockWidget = focusWindow->property (" FocusedDockWidget " );
248+ auto vDockWidget = focusWindow->property (FocusedDockWidgetProperty );
247249 if (!vDockWidget.isValid ())
248250 {
249251 return ;
250252 }
251253
252- auto DockWidget = vDockWidget.value <CDockWidget* >();
254+ auto DockWidget = vDockWidget.value <QPointer< CDockWidget> >();
253255 if (!DockWidget)
254256 {
255257 return ;
@@ -376,13 +378,13 @@ void CDockFocusController::notifyFloatingWidgetDrop(CFloatingDockContainer* Floa
376378 return ;
377379 }
378380
379- auto vDockWidget = FloatingWidget->property (" FocusedDockWidget " );
381+ auto vDockWidget = FloatingWidget->property (FocusedDockWidgetProperty );
380382 if (!vDockWidget.isValid ())
381383 {
382384 return ;
383385 }
384386
385- auto DockWidget = vDockWidget.value <CDockWidget* >();
387+ auto DockWidget = vDockWidget.value <QPointer< CDockWidget> >();
386388 if (DockWidget)
387389 {
388390 DockWidget->dockAreaWidget ()->setCurrentDockWidget (DockWidget);
0 commit comments