From c99b58a3dc69c6c649986bc3bdc4f7824c617c40 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Thu, 8 May 2014 11:10:00 +0200 Subject: [PATCH] Make handling of QEvent::Close consistent with QWindow::close() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The event handler would ignore the close if the window was hidden while the close() function would not. In addition, the close() function would force removal of focus etc while the event handler did not. Make it consistent by calling close() from the event handler. Change-Id: Ia05b08299f218620fb40a8cad5d3771158c4701e Reviewed-by: Morten Johan Sørvig Reviewed-by: Jørgen Lind --- src/gui/kernel/qwindow.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 4b36e5ca41..d4c1f2ade3 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -1945,15 +1945,10 @@ bool QWindow::event(QEvent *ev) break; #endif - case QEvent::Close: { - Q_D(QWindow); - bool wasVisible = isVisible(); - if (ev->isAccepted()) { - destroy(); - if (wasVisible) - d->maybeQuitOnLastWindowClosed(); - } - break; } + case QEvent::Close: + if (ev->isAccepted()) + close(); + break; case QEvent::Expose: exposeEvent(static_cast(ev));