diff options
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 8 | ||||
-rw-r--r-- | src/gui/kernel/qwindow.cpp | 7 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 960bc81a57..646c705148 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -2507,9 +2507,13 @@ void QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate void QGuiApplicationPrivate::processWindowStateChangedEvent(QWindowSystemInterfacePrivate::WindowStateChangedEvent *wse) { - if (QWindow *window = wse->window.data()) { + if (QWindow *window = wse->window.data()) { + QWindowPrivate *windowPrivate = qt_window_private(window); + const auto newEffectiveState = QWindowPrivate::effectiveState(windowPrivate->windowState); QWindowStateChangeEvent e(wse->oldState); - window->d_func()->windowState = wse->newState; + windowPrivate->windowState = wse->newState; + emit window->windowStateChanged(newEffectiveState); + windowPrivate->updateVisibility(); QGuiApplication::sendSpontaneousEvent(window, &e); } } diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 2d664f1117..d01ff11aa7 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -2501,13 +2501,6 @@ bool QWindow::event(QEvent *ev) setIcon(icon()); break; - case QEvent::WindowStateChange: { - Q_D(QWindow); - emit windowStateChanged(QWindowPrivate::effectiveState(d->windowState)); - d->updateVisibility(); - break; - } - #if QT_CONFIG(tabletevent) case QEvent::TabletPress: case QEvent::TabletMove: |