From d57bfa21ce7cf656c5ac55ab3b729ecaeb874bd3 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 26 Jul 2016 09:10:58 +0200 Subject: QDialog::adjustPosition(): Check screen number The screen number has been observed to be -1 in setups with multiple virtual desktops. Amends change eb50193136c7c73be864e3232d01e98ddc24e539. Task-number: QTBUG-52735 Change-Id: If01acf74fdd701a9211df732c0defdfd522ba72d Reviewed-by: hjk --- src/widgets/dialogs/qdialog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/widgets/dialogs') diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index 45d2279ed5..889b5ef9f5 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -863,8 +863,10 @@ void QDialog::adjustPosition(QWidget* w) // QTBUG-52735: Manually set the correct target screen since scaling in a // subsequent call to QWindow::resize() may otherwise use the wrong factor // if the screen changed notification is still in an event queue. - if (QWindow *window = windowHandle()) - window->setScreen(QGuiApplication::screens().at(scrn)); + if (scrn >= 0) { + if (QWindow *window = windowHandle()) + window->setScreen(QGuiApplication::screens().at(scrn)); + } move(p); } -- cgit v1.2.3