diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2014-09-26 13:03:19 +0400 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-09-29 14:26:26 +0200 |
commit | 382b7afbe253c29499631066bbe1091f0afbd386 (patch) | |
tree | 3e6e6e5c5a767ed2e918e3e9fb838e3502d28910 /src/plugins/platforms/xcb | |
parent | dfe853bff90444edf92a993e391df853780c9e8d (diff) |
xcb: Fix logic for minimized state
_NET_WM_STATE message can be received by a window in the minimized state.
Don't change the window state in this case.
Task-number: QTBUG-31117
Task-number: QTBUG-39376
Task-number: QTBUG-34430
Change-Id: Ic77a345e442891972b692803fab1e2f6aef30433
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 121e979765..e45f26e728 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -2106,7 +2106,11 @@ void QXcbWindow::handlePropertyNotifyEvent(const xcb_property_notify_event_t *ev newState = Qt::WindowMinimized; } free(reply); + } else { // _NET_WM_STATE can't change minimized state + if (m_lastWindowStateEvent == Qt::WindowMinimized) + newState = Qt::WindowMinimized; } + if (newState != Qt::WindowMinimized) { // Something else changed, get _NET_WM_STATE. const NetWmStates states = netWmStates(); if ((states & NetWmStateMaximizedHorz) && (states & NetWmStateMaximizedVert)) |