[server] Cancel previous selection from SeatInterface::setSelection
Summary:
When changing the selection the previous selection needs to be
cancelled. This is already done in the "normal" updating of the
selection. If the previous selection doesn't get cancelled QtWayland is
not able to accept anything new from the clipboard. The setSelection
didn't cancel it yet, due to that copy from Xwayland to QtWayland
windows doesn't work in KWin as KWin uses the setSelection call for the
Xwayland clipboard.
With this change the cancelling of previous selection is moved into a
dedicated method and called from the normal way and the setSelection
way.
Reviewers: Plasma on Wayland, bshah
Subscribers: plasma-devel
Tags: Plasma on Wayland
Differential Revision: https://phabricator.kde.org/D2997