Review Request 114396: Fix KWindowSystem_X11 changeWindow signal emitting

Kevin Ottens ervin at kde.org
Thu Dec 12 09:37:11 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114396/#review45590
-----------------------------------------------------------

Ship it!


Ship It!

- Kevin Ottens


On Dec. 11, 2013, 6:57 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/114396/
> -----------------------------------------------------------
> 
> (Updated Dec. 11, 2013, 6:57 a.m.)
> 
> 
> 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/20131212/aeb1c045/attachment.html>


More information about the Kde-frameworks-devel mailing list