Drop other selection on ownership change

Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
This commit is contained in:
Pierre Ossman 2021-03-01 15:46:35 +01:00 committed by Lauri Kasanen
parent 189f503b98
commit da83ecf86a

View File

@ -512,6 +512,13 @@ static void vncSelectionCallback(CallbackListPtr *callbacks,
LOG_DEBUG("Selection owner change for %s",
NameForAtom(info->selection->selection));
/*
* If we're the previous owner of this selection, then we're also the
* owner of _the other_ selection. Make sure we drop all ownerships so
* we either own both selections or nonw.
*/
DeleteWindowFromAnySelections(pWindow);
if ((info->selection->selection != xaPRIMARY) &&
(info->selection->selection != xaCLIPBOARD))
return;