https://bugs.kde.org/show_bug.cgi?id=360841
Fabian Vogt <fab...@ritter-vogt.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |CONFIRMED CC| |fab...@ritter-vogt.de Ever confirmed|0 |1 --- Comment #43 from Fabian Vogt <fab...@ritter-vogt.de> --- (In reply to Martin Flöser from comment #42) > I'm able to reproduce the issue with Qt 5.9. From my investigation it looks > like a behavioral change in Qt. KWin grabs key events on the X11 root window > and passes the native events to Qt in order to have them composed as > QKeyEvents. With Qt 5.9 it looks like Qt no longer creates QKeyEvents for > non-Qt windows. Due to that we are seeing the breakage. I did some more investigation, it's not quite that simple. Qt never created QKeyEvents for windows it does not have a handle for, but before Qt 5.9 we had a handle for the root window! It got created in scripting/workspace_wrapper.cpp, in this line: connect(QApplication::desktop(), SIGNAL(resized(int)), SIGNAL(screenResized(int))); The call to QApplication::desktop() created a foreign QXcbWindow that installed an event listener for the root window. Since 2b34aefcf02f09253473b096eb4faffd3e62b5f4 in qtbase ("Lazily create QPlatformWindow for Qt::Desktop windows") this is not the case anymore, but simply calling QApplication::desktop()->winId() anywhere makes it work again. -- You are receiving this mail because: You are watching all bug changes.