From aabca2864d9439bc061feedd8d315b9aaac5c666 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 3 Oct 2010 21:45:45 +0200 Subject: spicec-x11: Force processing of ownerchange event when releasing the cb Make sure we process the XFixesSetSelectionOwnerNotify event caused by us setting the clipboard owner to none, directly after setting the owner to none. Otherwise we may end up changing the clipboard owner to none, after it has already been re-owned because the XFixesSetSelectionOwnerNotify event to owner none is event is still pending when we set the new owner, and then changes the owner back to none once processed messing up our clipboard ownership state tracking. I saw this happening when doing copy twice in succession inside the guest. --- client/red_client.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'client/red_client.cpp') diff --git a/client/red_client.cpp b/client/red_client.cpp index a022499f..8e7dfe0e 100644 --- a/client/red_client.cpp +++ b/client/red_client.cpp @@ -1133,12 +1133,11 @@ void RedClient::dispatch_agent_message(VDAgentMessage* msg, void* data) break; case VD_AGENT_CLIPBOARD_RELEASE: if (Platform::get_clipboard_owner() != Platform::owner_guest) { - LOG_WARN("received clipboard release from guest while clipboard is not owned by guest"); + LOG_INFO("received clipboard release from guest while clipboard is not owned by guest"); break; } Platform::on_clipboard_release(); - Platform::set_clipboard_owner(Platform::owner_none); break; default: DBG(0, "Unsupported message type %u size %u", msg->type, msg->size); -- cgit