diff --git a/src/blackgui/dockwidget.cpp b/src/blackgui/dockwidget.cpp index f5cd4e201..e59bd4f8a 100644 --- a/src/blackgui/dockwidget.cpp +++ b/src/blackgui/dockwidget.cpp @@ -659,7 +659,7 @@ namespace BlackGui QPoint pos = CGuiUtility::mainWidgetGlobalPosition(); if (pos.isNull()) { - pos = sGui->currentScreen()->geometry().center() - this->rect().center(); + pos = CGuiApplication::currentScreen()->geometry().center() - this->rect().center(); } const int x = pos.x() + m_offsetWhenFloating.x(); diff --git a/src/blackgui/guiapplication.cpp b/src/blackgui/guiapplication.cpp index aa59345ca..428412974 100644 --- a/src/blackgui/guiapplication.cpp +++ b/src/blackgui/guiapplication.cpp @@ -355,7 +355,8 @@ namespace BlackGui QRect CGuiApplication::currentScreenGeometry() { const QScreen *s = currentScreen(); - return s->geometry(); + if (s) return s->geometry(); + return {}; } void CGuiApplication::modalWindowToFront() diff --git a/src/blackgui/guiutility.cpp b/src/blackgui/guiutility.cpp index 616e4454a..ee8474094 100644 --- a/src/blackgui/guiutility.cpp +++ b/src/blackgui/guiutility.cpp @@ -317,9 +317,13 @@ namespace BlackGui QPoint CGuiUtility::mainWidgetGlobalPosition() { - CEnableForFramelessWindow *mw = CGuiUtility::mainFramelessEnabledWindow(); - if (!mw || !mw->getWidget()) { QPoint(); } - return mw->getWidget()->pos(); // is main window, so not mapToGlobal + QWidget *mw = CGuiUtility::mainApplicationWidget(); + if (mw) { return mw->pos(); } + + // fallback, can be mfw it is not found + CEnableForFramelessWindow *mfw = CGuiUtility::mainFramelessEnabledWindow(); + if (!mfw || !mfw->getWidget()) { return QPoint(); } + return mfw->getWidget()->pos(); // is main window, so not mapToGlobal } QString CGuiUtility::replaceTabCountValue(const QString &oldName, int count) @@ -353,7 +357,7 @@ namespace BlackGui delete widget; } } - else {delete item;} + else { delete item; } } // then finally