diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2013-04-05 10:15:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-05 14:50:21 +0200 |
commit | 33315010224edbf4b80d727502b24459ea8806ae (patch) | |
tree | f537282a0be808ad012670d241ed523be092ed0f /src/widgets/kernel/qwidget.cpp | |
parent | 3d0a60aaa4077a897d02ca5f3c0cc2d7da1007c3 (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.cpp | 3 |
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; |