diff --git a/framework/dockwindow/qml/Muse/Dock/DockPanel.qml b/framework/dockwindow/qml/Muse/Dock/DockPanel.qml index 65da1679d2..1e34cddb42 100644 --- a/framework/dockwindow/qml/Muse/Dock/DockPanel.qml +++ b/framework/dockwindow/qml/Muse/Dock/DockPanel.qml @@ -34,6 +34,6 @@ DockPanelView { Loader { id: contentLoader - active: root.visible + active: root.visible && root.inited } } diff --git a/framework/dockwindow/qml/Muse/Dock/dockpageview.cpp b/framework/dockwindow/qml/Muse/Dock/dockpageview.cpp index 92ff7de0b8..58f6c22efa 100644 --- a/framework/dockwindow/qml/Muse/Dock/dockpageview.cpp +++ b/framework/dockwindow/qml/Muse/Dock/dockpageview.cpp @@ -74,6 +74,7 @@ void DockPageView::deinit() TRACEFUNC; for (DockBase* dock : allDocks()) { + dock->deinit(); dock->disconnect(this); } } diff --git a/framework/dockwindow/thirdparty/KDDockWidgets/src/private/quick/QWidgetAdapter_quick.cpp b/framework/dockwindow/thirdparty/KDDockWidgets/src/private/quick/QWidgetAdapter_quick.cpp index 0d4ace75fd..e8975729f1 100644 --- a/framework/dockwindow/thirdparty/KDDockWidgets/src/private/quick/QWidgetAdapter_quick.cpp +++ b/framework/dockwindow/thirdparty/KDDockWidgets/src/private/quick/QWidgetAdapter_quick.cpp @@ -627,22 +627,21 @@ void QWidgetAdapter::move(int x, int y) void QWidgetAdapter::setSize(QSize size) { + QSize newSize = size; #ifdef Q_OS_MACOS FloatingWindow *floatingWindow = this->floatingWindow(); - if (!floatingWindow) { - return; - } - - const auto newSize = size.expandedTo(minimumSize()); - - QWindow* window = floatingWindow->windowHandle(); - if (window && window->size() != newSize) { - QRect windowGeo = window->geometry(); - windowGeo.setSize(newSize); - window->setGeometry(windowGeo); + if (floatingWindow) { + newSize = size.expandedTo(minimumSize()); + + QWindow* window = floatingWindow->windowHandle(); + if (window && window->size() != newSize) { + QRect windowGeo = window->geometry(); + windowGeo.setSize(newSize); + window->setGeometry(windowGeo); + } } #endif - QQuickItem::setSize(QSizeF(size)); + QQuickItem::setSize(QSizeF(newSize)); } void QWidgetAdapter::setParent(QQuickItem *p)