xcb: Update _NET_SUPPORTED when the window manager changes it

In some cases, the application may start before the window manager, and in some window managers
_NET_SUPPORTED may be changed. These situations will cause the _NET_SUPPORTED value obtained by Qt
to be inconsistent with the window manager.

Fixes: QTBUG-91396
Change-Id: I63c6934ad2538cdb9f05926b3748216bd0dcf04e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
bb10
Tang Haixiang 2021-02-25 18:05:17 +08:00 committed by Shawn Rutledge
parent 57ede9217e
commit acb0065cc7
1 changed files with 2 additions and 0 deletions

View File

@ -698,6 +698,8 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event)
QXcbVirtualDesktop *virtualDesktop = virtualDesktopForRootWindow(propertyNotify->window);
if (virtualDesktop)
virtualDesktop->updateWorkArea();
} else if (propertyNotify->atom == atom(QXcbAtom::_NET_SUPPORTED)) {
m_wmSupport->updateNetWMAtoms();
} else {
HANDLE_PLATFORM_WINDOW_EVENT(xcb_property_notify_event_t, window, handlePropertyNotifyEvent);
}