summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidget.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-04-05 10:15:13 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-05 14:50:21 +0200
commit33315010224edbf4b80d727502b24459ea8806ae (patch)
treef537282a0be808ad012670d241ed523be092ed0f /src/widgets/kernel/qwidget.cpp
parent3d0a60aaa4077a897d02ca5f3c0cc2d7da1007c3 (diff)
Mark widget framestrut as dirty when window flags change.
When undocking a dock using the undock button on a main window with native children, the dock widget goes to 0,0 (content position) causing the window frame to be off-screen since the frame is still 0,0. This change causes the frame to be recalculated such that the frame position is 0,0. Task-number: QTBUG-28872 Change-Id: I32896107cd7b982811f45de43dbad82e7407ea7a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r--src/widgets/kernel/qwidget.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index c2308b780f..edd2329df8 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -9517,6 +9517,9 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
bool wasCreated = testAttribute(Qt::WA_WState_Created);
QWidget *oldtlw = window();
+ if (f & Qt::Window) // Frame geometry likely changes, refresh.
+ d->data.fstrut_dirty = true;
+
QWidget *desktopWidget = 0;
if (parent && parent->windowType() == Qt::Desktop)
desktopWidget = parent;