Review Request 114396: Fix KWindowSystem_X11 changeWindow signal emitting
Martin Gräßlin
mgraesslin at kde.org
Wed Dec 11 06:57:02 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114396/
-----------------------------------------------------------
Review request for KDE Frameworks and Plasma.
Repository: kdelibs
Description
-------
I don't mind whether that goes in before or after the split. Just creating the review request as I have the patch ready, but it's no problem to recreate the patches after the split.
commit d6756e252fb05bfc88041ce1d2896be66097de26
Author: Martin Gräßlin <mgraesslin at kde.org>
Date: Wed Dec 11 07:36:29 2013 +0100
Properly set the event mask on the windows watched by KWindowSystem
KWindowSystem tried to only change the event mask for windows not
belonging to the same process by using QWidget::find to test whether
the window belongs to the same process or not. This does no longer
work in a QWindow world. If the window belongs to a Q(Quick)Window
QWidget::find returns a nullptr just like for windows of another
process. This caused the XSelectWindow to overwrite the event mask
used by Qt and thus for example mouse events were no longer recieved
at all.
With this change the event mask is updated for all windows, no matter
whether it's an own or a foreign window. But the event mask currently
installed on the window is preserved, so Qt still gets the events it
expects.
commit 87fda66987516c6fa04582c75f50af184d641a26
Author: Martin Gräßlin <mgraesslin at kde.org>
Date: Wed Dec 11 07:31:13 2013 +0100
Adjust KWindowSystem_X11 to the changes in connectNotify
The functionality was rather broken, the conditions on the arguments
to pass into the init() method were never evaluated. This meant that
the windowChanged signal never got emitted.
Diffs
-----
tier1/kwindowsystem/src/kwindowsystem_x11.cpp f152929
Diff: http://git.reviewboard.kde.org/r/114396/diff/
Testing
-------
Tested with Plasma2's taskmanager. Without the connectNotify adjustment the taskmanager does not update on window changes. With the connectNotify patch but without the select input patch it properly updates but all of plasma is broken because it doesn't get mouse events. With both patches everything works as expected \o/ This was a fun investigation...
Thanks,
Martin Gräßlin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131211/6af18a1a/attachment-0001.html>
More information about the Kde-frameworks-devel
mailing list