diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 65ee8af19e..fdb6875e8e 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -31,7 +31,6 @@ # include # include # include -# include # include # include # include @@ -262,7 +261,7 @@ struct MainWindowP int actionUpdateDelay = 0; QMap > urlHandler; std::string hiddenDockWindows; - int screen = -1; + QPointer screen; boost::signals2::scoped_connection connParam; ParameterGrp::handle hGrp; bool _restoring = false; @@ -1666,7 +1665,8 @@ void MainWindow::loadWindowSettings() QString qtver = QStringLiteral("Qt%1.%2").arg(major).arg(minor); QSettings config(vendor, application); - QRect rect = QApplication::desktop()->availableGeometry(d->screen); + QRect rect = d->screen ? d->screen->availableGeometry() + : QApplication::primaryScreen()->availableGeometry(); config.beginGroup(qtver); QPoint pos = config.value(QStringLiteral("Position"), this->pos()).toPoint(); @@ -1804,10 +1804,15 @@ void MainWindow::startSplasher() if (hGrp->GetBool("ShowSplasher", true)) { d->splashscreen = new SplashScreen(this->splashImage()); d->splashscreen->show(); - d->screen = QApplication::desktop()->screenNumber(d->splashscreen); +#if QT_VERSION >= QT_VERSION_CHECK(5,14,0) + d->screen = d->splashscreen->screen(); +#else + d->screen = QApplication::primaryScreen(); +#endif } - else + else { d->splashscreen = nullptr; + } } }