summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-08-22 11:40:58 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-23 18:39:53 +0200
commitf738a4a5d5f62c1136b5820a89c9b47080d150a4 (patch)
treef1550de9053f00fbb1c7593f5cf9483939ea5c58 /src/gui
parent61edb803785ea7e62043b4f8a926b6b1db4f3a81 (diff)
Do not recreate window if it is moved to a virtual sibling screen.
Task-number: QTBUG-32681 Task-number: QTBUG-33062 Change-Id: Id37627231b7a129c398d90d3f01ded6bd5171088 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/kernel/qwindow.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index 9ef19715ed..490cf0c110 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -348,8 +348,9 @@ void QWindowPrivate::updateVisibility()
void QWindowPrivate::setScreen(QScreen *newScreen, bool recreate)
{
Q_Q(QWindow);
- if (newScreen != q->screen()) {
- const bool shouldRecreate = recreate && platformWindow != 0;
+ if (newScreen != screen) {
+ const bool shouldRecreate = recreate && platformWindow != 0
+ && !(screen && screen->virtualSiblings().contains(newScreen));
if (shouldRecreate)
q->destroy();
if (screen)