xcb: Act on the _NET_ACTIVE_WINDOW event
It happens that we don't get a focus inn event for top level windows when focus goes from a window mapped. But we do get a _NET_ACTIVE_WINDOW event. Task-number: QTBUG-34426 Change-Id: Id1d9eb708a968e0e8934e56dec19abe2dd203bc7 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This commit is contained in:
parent
e7bda8ee10
commit
105e228d1c
@ -1544,10 +1544,13 @@ void QXcbWindow::handleClientMessageEvent(const xcb_client_message_event_t *even
|
||||
#endif
|
||||
} else if (event->type == atom(QXcbAtom::_XEMBED)) {
|
||||
handleXEmbedMessage(event);
|
||||
} else if (event->type == atom(QXcbAtom::MANAGER) || event->type == atom(QXcbAtom::_NET_ACTIVE_WINDOW)
|
||||
|| event->type == atom(QXcbAtom::_NET_WM_STATE) || event->type == atom(QXcbAtom::MANAGER)
|
||||
} else if (event->type == atom(QXcbAtom::_NET_ACTIVE_WINDOW)) {
|
||||
connection()->setFocusWindow(this);
|
||||
QWindowSystemInterface::handleWindowActivated(window());
|
||||
} else if (event->type == atom(QXcbAtom::MANAGER)
|
||||
|| event->type == atom(QXcbAtom::_NET_WM_STATE)
|
||||
|| event->type == atom(QXcbAtom::WM_CHANGE_STATE)) {
|
||||
// Ignore _NET_ACTIVE_WINDOW, _NET_WM_STATE, MANAGER which are relate to tray icons
|
||||
// Ignore _NET_WM_STATE, MANAGER which are relate to tray icons
|
||||
// and other messages.
|
||||
} else if (event->type == atom(QXcbAtom::_COMPIZ_DECOR_PENDING)
|
||||
|| event->type == atom(QXcbAtom::_COMPIZ_DECOR_REQUEST)
|
||||
|
Loading…
Reference in New Issue
Block a user