From 0bb6b65c56f49b93ca367f6771f10d3320dfc4f4 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 11 Feb 2014 13:13:37 +0100 Subject: Exclude widgets without associated QWindow in QApplication::shouldQuit(). Task-number: QTBUG-35986 Change-Id: Ibeb425fe054af163b86b2142028b3ea744cb9820 Reviewed-by: David Faure --- src/widgets/kernel/qapplication.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 3309b4be06..9bc1576dc6 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -2743,9 +2743,11 @@ bool QApplicationPrivate::shouldQuit() QWindowList processedWindows; for (int i = 0; i < list.size(); ++i) { QWidget *w = list.at(i); - processedWindows.push_back(w->windowHandle()); - if (w->isVisible() && !w->parentWidget() && w->testAttribute(Qt::WA_QuitOnClose)) - return false; + if (QWindow *window = w->windowHandle()) { // Menus, popup widgets may not have a QWindow + processedWindows.push_back(window); + if (w->isVisible() && !w->parentWidget() && w->testAttribute(Qt::WA_QuitOnClose)) + return false; + } } return QGuiApplicationPrivate::shouldQuitInternal(processedWindows); } -- cgit v1.2.3