Xming: Check clipboard selection ownership after taking it
When you take ownership of a selection you should always check you got it (X11 ICCCM gospel). Copyright (C) Colin Harrison 2005-2008 http://www.straightrunning.com/XmingNotes/ http://sourceforge.net/projects/xming/ Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
parent
cb6315072f
commit
d7c27bfe55
|
@ -273,7 +273,8 @@ winClipboardProc (void *pvNotUsed)
|
|||
/* PRIMARY */
|
||||
iReturn = XSetSelectionOwner (pDisplay, XA_PRIMARY,
|
||||
iWindow, CurrentTime);
|
||||
if (iReturn == BadAtom || iReturn == BadWindow)
|
||||
if (iReturn == BadAtom || iReturn == BadWindow ||
|
||||
XGetSelectionOwner (pDisplay, XA_PRIMARY) != iWindow)
|
||||
{
|
||||
ErrorF ("winClipboardProc - Could not set PRIMARY owner\n");
|
||||
pthread_exit (NULL);
|
||||
|
@ -282,7 +283,8 @@ winClipboardProc (void *pvNotUsed)
|
|||
/* CLIPBOARD */
|
||||
iReturn = XSetSelectionOwner (pDisplay, atomClipboard,
|
||||
iWindow, CurrentTime);
|
||||
if (iReturn == BadAtom || iReturn == BadWindow)
|
||||
if (iReturn == BadAtom || iReturn == BadWindow ||
|
||||
XGetSelectionOwner (pDisplay, atomClipboard) != iWindow)
|
||||
{
|
||||
ErrorF ("winClipboardProc - Could not set CLIPBOARD owner\n");
|
||||
pthread_exit (NULL);
|
||||
|
|
|
@ -385,7 +385,8 @@ winClipboardWindowProc (HWND hwnd, UINT message,
|
|||
XA_PRIMARY,
|
||||
iWindow,
|
||||
CurrentTime);
|
||||
if (iReturn == BadAtom || iReturn == BadWindow)
|
||||
if (iReturn == BadAtom || iReturn == BadWindow ||
|
||||
XGetSelectionOwner (pDisplay, XA_PRIMARY) != iWindow)
|
||||
{
|
||||
winErrorFVerb (1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
|
||||
"Could not reassert ownership of PRIMARY\n");
|
||||
|
@ -403,7 +404,12 @@ winClipboardWindowProc (HWND hwnd, UINT message,
|
|||
False),
|
||||
iWindow,
|
||||
CurrentTime);
|
||||
if (iReturn == BadAtom || iReturn == BadWindow)
|
||||
|
||||
if (iReturn == BadAtom || iReturn == BadWindow ||
|
||||
XGetSelectionOwner (pDisplay,
|
||||
XInternAtom (pDisplay,
|
||||
"CLIPBOARD",
|
||||
False)) != iWindow)
|
||||
{
|
||||
winErrorFVerb (1, "winClipboardWindowProc - WM_DRAWCLIPBOARD - "
|
||||
"Could not reassert ownership of CLIPBOARD\n");
|
||||
|
|
Loading…
Reference in New Issue
Block a user