diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-04-10 21:07:11 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-04-12 10:00:52 +0000 |
commit | 7f29367c09d069958e0e9fb539ee88df04877b7e (patch) | |
tree | 8b7c82060ee8a5a8a9939aa4559a6cee45822bf1 /src/gui/kernel/qwindow.cpp | |
parent | 6e649f9714db58e97b68a2fe9838c71aca2ee756 (diff) |
Prevent QWindow transient parent loop
Clients may wrongly set the transient parent to the window itself,
causing endless loop when e.g. looking for the top level parent.
Change-Id: Ib23cae3a5576320435ae9b76dd618d1e5ae08b5d
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/gui/kernel/qwindow.cpp')
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index d44bfabc04..c7afcce874 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -1279,6 +1279,10 @@ void QWindow::setTransientParent(QWindow *parent) qWarning() << parent << "must be a top level window."; return; } + if (parent == this) { + qWarning() << "transient parent" << parent << "can not be same as window"; + return; + } d->transientParent = parent; |