diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-07-26 09:10:58 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-07-26 11:48:51 +0000 |
commit | d57bfa21ce7cf656c5ac55ab3b729ecaeb874bd3 (patch) | |
tree | b143f48fe9cc433ac6ec0fd9e2042f3fe8e1ecc1 | |
parent | 7095db363331e6434d64405ba1a8573de2e01230 (diff) |
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 <hjk@qt.io>
-rw-r--r-- | src/widgets/dialogs/qdialog.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
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); } |