From 7f29367c09d069958e0e9fb539ee88df04877b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 10 Apr 2017 21:07:11 +0200 Subject: 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 --- src/gui/kernel/qwindow.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/gui/kernel/qwindow.cpp') 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; -- cgit v1.2.3