[wayland] Pass X11 events through the native event filters

E.g. KSelectionOwner installs a native event filter and listens for
xcb events. Without that the KSelectionOwner::claim never succeeds and
for other X11 applications it will look like Compositing is not
supported.
This commit is contained in:
Martin Gräßlin 2015-04-22 11:23:06 +02:00
parent a23713accd
commit c8ebcf4ca2

View file

@ -184,6 +184,11 @@ void ApplicationWayland::continueStartupWithX()
auto processXcbEvents = [this, c] { auto processXcbEvents = [this, c] {
while (auto event = xcb_poll_for_event(c)) { while (auto event = xcb_poll_for_event(c)) {
updateX11Time(event); updateX11Time(event);
long result = 0;
if (QThread::currentThread()->eventDispatcher()->filterNativeEvent(QByteArrayLiteral("xcb_generic_event_t"), event, &result)) {
free(event);
continue;
}
if (Workspace::self()) { if (Workspace::self()) {
Workspace::self()->workspaceEvent(event); Workspace::self()->workspaceEvent(event);
} }