summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-04-10 21:07:11 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2017-04-12 10:00:52 +0000
commit7f29367c09d069958e0e9fb539ee88df04877b7e (patch)
tree8b7c82060ee8a5a8a9939aa4559a6cee45822bf1
parent6e649f9714db58e97b68a2fe9838c71aca2ee756 (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>
-rw-r--r--src/gui/kernel/qwindow.cpp4
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;