diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp index a6f41f0a279b..3cbfd25ef522 100644 --- a/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp +++ b/src/VBox/Frontends/VirtualBox/src/globals/UIDesktopWidgetWatchdog.cpp @@ -920,7 +920,10 @@ void UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated(int availableGeometry.width(), availableGeometry.height())); /* Forget finished worker: */ - pWorker->disconnect(); + disconnect(static_cast(pWorker), + &UIInvisibleWindow::sigHostScreenAvailableGeometryCalculated, + this, + &UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated); pWorker->deleteLater(); m_availableGeometryWorkers[iHostScreenIndex] = 0; @@ -1072,7 +1075,10 @@ void UIDesktopWidgetWatchdog::updateHostScreenAvailableGeometry(int iHostScreenI QWidget *pOldWorker = m_availableGeometryWorkers.value(iHostScreenIndex); if (pOldWorker) { - pOldWorker->disconnect(); + disconnect(static_cast(pOldWorker), + &UIInvisibleWindow::sigHostScreenAvailableGeometryCalculated, + this, + &UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated); pOldWorker->deleteLater(); } m_availableGeometryWorkers[iHostScreenIndex] = pWorker; @@ -1102,7 +1108,10 @@ void UIDesktopWidgetWatchdog::cleanupExistingWorkers() { if (pWorker) { - pWorker->disconnect(); + disconnect(static_cast(pWorker), + &UIInvisibleWindow::sigHostScreenAvailableGeometryCalculated, + this, + &UIDesktopWidgetWatchdog::sltHandleHostScreenAvailableGeometryCalculated); pWorker->deleteLater(); } }