From 589a562c0123544dece4bd5479083f1e23b3d932 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 31 May 2011 10:04:04 +0200 Subject: [PATCH] Fix isTopLevel() in QWindow. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also makes modal hints set properly for dialogs so the additional checks during active window change are not needed anymore. Reviewed-by: Samuel Rødal --- src/gui/kernel/qwindow.cpp | 2 +- src/widgets/kernel/qapplication_qpa.cpp | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index e53a205e88..1b65c4e5e2 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -154,7 +154,7 @@ void QWindow::setParent(QWindow *parent) bool QWindow::isTopLevel() const { Q_D(const QWindow); - return d->parentWindow != 0; + return d->parentWindow == 0; } bool QWindow::isModal() const diff --git a/src/widgets/kernel/qapplication_qpa.cpp b/src/widgets/kernel/qapplication_qpa.cpp index 0210c1474e..ec67452543 100644 --- a/src/widgets/kernel/qapplication_qpa.cpp +++ b/src/widgets/kernel/qapplication_qpa.cpp @@ -157,14 +157,7 @@ void QApplicationPrivate::notifyActiveWindowChange(QWindow *previous) Q_Q(QApplication); QWindow *wnd = QGuiApplicationPrivate::active_window; QWidget *tlw = qt_tlw_for_window(wnd); - if (!tlw) - return; - if (modalState() - && !qt_try_modal(tlw, QEvent::MouseButtonRelease) - && q->activeWindow()) - q->activeWindow()->activateWindow(); - else - q->setActiveWindow(tlw); + q->setActiveWindow(tlw); } void QApplicationPrivate::closePopup(QWidget *popup)