Review Request 112185: Fix KManagerSelection and re-enable unit test
Commit Hook
null at kde.org
Fri Aug 23 05:33:42 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112185/#review38396
-----------------------------------------------------------
This review has been submitted with commit 182fccccbab9402ddd0bcdec7cf52f29f1566e32 by Martin Gräßlin to branch frameworks.
- Commit Hook
On Aug. 21, 2013, 1:33 p.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112185/
> -----------------------------------------------------------
>
> (Updated Aug. 21, 2013, 1:33 p.m.)
>
>
> Review request for KDE Frameworks and David Faure.
>
>
> Description
> -------
>
> Re-enable unit test for kmanagerselection
>
> The testLostOwnership is set to expected fail as that one used
> X event queue functionality not available in XCB.
>
> The other tests are working.
>
> Always emit the claimedOwnership() signal if we have the selection
>
> There was a logical error introduced during the porting to XCB. There
> is no requirement for the old owner to destroy its selection window.
> Which means we should not emit the failed signal if the window has not
> been destroyed in time.
>
> This is especially important for the situation that another Selection
> Owner of the same X client takes over as the SelectionClear event is
> not delivered in that case and thus the destroy never happens and the
> new owner thinking it failed.
>
> The timer is in fact only relevant for the case that the kill option
> is set. We want to give the old owner the time to clean up itself
> instead of forcefully killing (e.g. window manager --replace).
>
> Filter out events only relevant to the KSelectionOwner
>
> No need to pass the events about the selections we are monitoring to Qt.
>
> Ensure the KSelectionOwner destroys its window in the dtor
>
> Release() might not destroy the window, so better make sure that
> the window gets destroyed.
>
> Re-add code for client message handling in KSelectionWatcher
>
> While the code looks like being no-op, it is in fact not, because in
> one path it calls owner() which might update the selection owner and
> emits newOwner signal. Updating the owner information has to happen
> in response to handling the client message.
>
> Need to declare metatype for xcb_window_t
>
> This fixes not delivered signals - e.g. newOwner.
>
>
> Diffs
> -----
>
> tier1/kwindowsystem/autotests/CMakeLists.txt 614b852
> tier1/kwindowsystem/autotests/kmanagerselectiontest.h 15858dc
> tier1/kwindowsystem/autotests/kmanagerselectiontest.cpp 887cb3f
> tier1/kwindowsystem/src/kmanagerselection.h 8df8ead
> tier1/kwindowsystem/src/kmanagerselection.cpp d7453c8
>
> Diff: http://git.reviewboard.kde.org/r/112185/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Martin Gräßlin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20130823/8c8e6a8a/attachment.html>
More information about the Kde-frameworks-devel
mailing list