Cygwin/X: Clearly diagnose a timeout while waiting for SelectionNotify event
Clearly diagnose a timeout while waiting for SelectionNotify event in the clipboard integration internal client. (which seems to be behind some of the reported failures) Turn useless #if 0/ErrorF()/#endif into useful winDebug() Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
062f49a8e0
commit
9657eae5d6
|
@ -84,9 +84,7 @@ winClipboardUNIXtoDOS (unsigned char **ppszData, int iLength)
|
|||
unsigned char *pszEnd = pszSrc + iLength;
|
||||
unsigned char *pszDest = NULL, *pszDestBegin = NULL;
|
||||
|
||||
#if 0
|
||||
ErrorF ("UNIXtoDOS () - Original data:\n%s\n", *ppszData);
|
||||
#endif
|
||||
winDebug("UNIXtoDOS () - Original data:'%s'\n", *ppszData);
|
||||
|
||||
/* Count \n characters without leading \r */
|
||||
while (pszSrc < pszEnd)
|
||||
|
@ -153,7 +151,5 @@ winClipboardUNIXtoDOS (unsigned char **ppszData, int iLength)
|
|||
free (*ppszData);
|
||||
*ppszData = pszDestBegin;
|
||||
|
||||
#if 0
|
||||
ErrorF ("UNIXtoDOS () - Final string:\n%s\n", pszDestBegin);
|
||||
#endif
|
||||
winDebug("UNIXtoDOS () - Final string:'%s'\n", pszDestBegin);
|
||||
}
|
||||
|
|
|
@ -104,13 +104,13 @@ winProcessXEventsTimeout (HWND hwnd, int iWindow, Display *pDisplay,
|
|||
if (tv.tv_sec < 0)
|
||||
return WIN_XEVENTS_SUCCESS;
|
||||
|
||||
/* Wait for a Windows event or an X event */
|
||||
/* Wait for an X event */
|
||||
iReturn = select (iConnNumber + 1,/* Highest fds number */
|
||||
&fdsRead, /* Read mask */
|
||||
NULL, /* No write mask */
|
||||
NULL, /* No exception mask */
|
||||
&tv); /* No timeout */
|
||||
if (iReturn <= 0)
|
||||
if (iReturn < 0)
|
||||
{
|
||||
ErrorF ("winProcessXEventsTimeout - Call to select () failed: %d. "
|
||||
"Bailing.\n", iReturn);
|
||||
|
@ -440,9 +440,9 @@ winClipboardWindowProc (HWND hwnd, UINT message,
|
|||
* follow this message and reassert ownership of the X11
|
||||
* selections, handling the issue for us.
|
||||
*/
|
||||
winDebug ("winClipboardWindowProc - WM_DESTROYCLIPBOARD - Ignored.\n");
|
||||
return 0;
|
||||
|
||||
|
||||
case WM_RENDERFORMAT:
|
||||
case WM_RENDERALLFORMATS:
|
||||
{
|
||||
|
@ -536,6 +536,8 @@ winClipboardWindowProc (HWND hwnd, UINT message,
|
|||
if (g_fUnicodeSupport)
|
||||
SetClipboardData (CF_UNICODETEXT, NULL);
|
||||
SetClipboardData (CF_TEXT, NULL);
|
||||
|
||||
ErrorF("winClipboardWindowProc - timed out waiting for WIN_XEVENTS_NOTIFY\n");
|
||||
}
|
||||
|
||||
/* BPS - Post ourselves a user message whose handler will reset the
|
||||
|
|
|
@ -324,9 +324,7 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
|
||||
REQUEST_SIZE_MATCH(xSetSelectionOwnerReq);
|
||||
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - Hello.\n");
|
||||
#endif
|
||||
winDebug("winProcSetSelectionOwner - Hello.\n");
|
||||
|
||||
/* Watch for server reset */
|
||||
if (s_ulServerGeneration != serverGeneration)
|
||||
|
@ -369,10 +367,8 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
{
|
||||
fOwnedToNotOwned = TRUE;
|
||||
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - PRIMARY - Going from "
|
||||
winDebug("winProcSetSelectionOwner - PRIMARY - Going from "
|
||||
"owned to not owned.\n");
|
||||
#endif
|
||||
|
||||
/* Adjust last owned selection */
|
||||
if (None != s_iOwners[CLIP_OWN_CLIPBOARD])
|
||||
|
@ -384,10 +380,8 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
/* Save new selection owner or None */
|
||||
s_iOwners[CLIP_OWN_PRIMARY] = stuff->window;
|
||||
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - PRIMARY - Now owned by: %d\n",
|
||||
winDebug("winProcSetSelectionOwner - PRIMARY - Now owned by: %d\n",
|
||||
stuff->window);
|
||||
#endif
|
||||
}
|
||||
else if (MakeAtom ("CLIPBOARD", 9, TRUE) == stuff->selection)
|
||||
{
|
||||
|
@ -396,11 +390,9 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
&& None != s_iOwners[CLIP_OWN_CLIPBOARD])
|
||||
{
|
||||
fOwnedToNotOwned = TRUE;
|
||||
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - CLIPBOARD - Going from "
|
||||
"owned to not owned.\n");
|
||||
#endif
|
||||
|
||||
winDebug("winProcSetSelectionOwner - CLIPBOARD - Going from "
|
||||
"owned to not owned.\n");
|
||||
|
||||
/* Adjust last owned selection */
|
||||
if (None != s_iOwners[CLIP_OWN_PRIMARY])
|
||||
|
@ -412,10 +404,9 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
/* Save new selection owner or None */
|
||||
s_iOwners[CLIP_OWN_CLIPBOARD] = stuff->window;
|
||||
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - CLIPBOARD - Now owned by: %d\n",
|
||||
stuff->window);
|
||||
#endif
|
||||
winDebug("winProcSetSelectionOwner - CLIPBOARD - Now owned by: %d\n",
|
||||
stuff->window);
|
||||
|
||||
}
|
||||
else
|
||||
goto winProcSetSelectionOwner_Done;
|
||||
|
@ -444,13 +435,11 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
&& g_hwndClipboard != NULL
|
||||
&& g_hwndClipboard == GetClipboardOwner ())
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - We currently own the "
|
||||
"clipboard and neither the PRIMARY nor the CLIPBOARD "
|
||||
"selections are owned, releasing ownership of Win32 "
|
||||
"clipboard.\n");
|
||||
#endif
|
||||
|
||||
winDebug("winProcSetSelectionOwner - We currently own the "
|
||||
"clipboard and neither the PRIMARY nor the CLIPBOARD "
|
||||
"selections are owned, releasing ownership of Win32 "
|
||||
"clipboard.\n");
|
||||
|
||||
/* Release ownership of the Windows clipboard */
|
||||
OpenClipboard (NULL);
|
||||
EmptyClipboard ();
|
||||
|
@ -462,9 +451,7 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
/* Abort if no window at this point */
|
||||
if (None == stuff->window)
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - No window, returning.\n");
|
||||
#endif
|
||||
winDebug("winProcSetSelectionOwner - No window, returning.\n");
|
||||
goto winProcSetSelectionOwner_Done;
|
||||
}
|
||||
|
||||
|
@ -481,10 +468,8 @@ winProcSetSelectionOwner (ClientPtr client)
|
|||
/* Abort if clipboard manager is owning the selection */
|
||||
if (pDrawable->id == g_iClipboardWindow)
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winProcSetSelectionOwner - We changed ownership, "
|
||||
"aborting.\n");
|
||||
#endif
|
||||
winDebug("winProcSetSelectionOwner - We changed ownership, "
|
||||
"aborting.\n");
|
||||
goto winProcSetSelectionOwner_Done;
|
||||
}
|
||||
|
||||
|
|
|
@ -105,20 +105,17 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
*/
|
||||
|
||||
case SelectionRequest:
|
||||
#if 0
|
||||
{
|
||||
char *pszAtomName = NULL;
|
||||
|
||||
ErrorF ("SelectionRequest - target %d\n",
|
||||
event.xselectionrequest.target);
|
||||
|
||||
winDebug("SelectionRequest - target %d\n",
|
||||
event.xselectionrequest.target);
|
||||
|
||||
pszAtomName = XGetAtomName (pDisplay,
|
||||
event.xselectionrequest.target);
|
||||
ErrorF ("SelectionRequest - Target atom name %s\n", pszAtomName);
|
||||
winDebug("SelectionRequest - Target atom name %s\n", pszAtomName);
|
||||
XFree (pszAtomName);
|
||||
pszAtomName = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Abort if invalid target type */
|
||||
if (event.xselectionrequest.target != XA_STRING
|
||||
|
@ -466,21 +463,17 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
*/
|
||||
|
||||
case SelectionNotify:
|
||||
#if 0
|
||||
ErrorF ("winClipboardFlushXEvents - SelectionNotify\n");
|
||||
|
||||
winDebug ("winClipboardFlushXEvents - SelectionNotify\n");
|
||||
{
|
||||
char *pszAtomName;
|
||||
|
||||
pszAtomName = XGetAtomName (pDisplay,
|
||||
event.xselection.selection);
|
||||
|
||||
ErrorF ("winClipboardFlushXEvents - SelectionNotify - ATOM: %s\n",
|
||||
pszAtomName);
|
||||
|
||||
winDebug("winClipboardFlushXEvents - SelectionNotify - ATOM: %s\n",
|
||||
pszAtomName);
|
||||
XFree (pszAtomName);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Request conversion of UTF8 and CompoundText targets.
|
||||
|
@ -489,18 +482,16 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
{
|
||||
if (event.xselection.target == XA_STRING)
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"XA_STRING\n");
|
||||
#endif
|
||||
winDebug ("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"XA_STRING\n");
|
||||
|
||||
return WIN_XEVENTS_CONVERT;
|
||||
}
|
||||
else if (event.xselection.target == atomUTF8String)
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"Requesting conversion of UTF8 target.\n");
|
||||
#endif
|
||||
winDebug("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"Requesting conversion of UTF8 target.\n");
|
||||
|
||||
iReturn = XConvertSelection (pDisplay,
|
||||
event.xselection.selection,
|
||||
XA_STRING,
|
||||
|
@ -523,10 +514,9 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
#ifdef X_HAVE_UTF8_STRING
|
||||
else if (event.xselection.target == atomCompoundText)
|
||||
{
|
||||
#if 0
|
||||
ErrorF ("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"Requesting conversion of CompoundText target.\n");
|
||||
#endif
|
||||
winDebug("winClipboardFlushXEvents - SelectionNotify - "
|
||||
"Requesting conversion of CompoundText target.\n");
|
||||
|
||||
iReturn = XConvertSelection (pDisplay,
|
||||
event.xselection.selection,
|
||||
atomUTF8String,
|
||||
|
@ -577,10 +567,8 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
break;
|
||||
}
|
||||
|
||||
#if 0
|
||||
ErrorF ("SelectionNotify - returned data %d left %d\n",
|
||||
xtpText.nitems, ulReturnBytesLeft);
|
||||
#endif
|
||||
winDebug("SelectionNotify - returned data %d left %d\n",
|
||||
xtpText.nitems, ulReturnBytesLeft);
|
||||
|
||||
/* Request the selection data */
|
||||
iReturn = XGetWindowProperty (pDisplay,
|
||||
|
@ -603,19 +591,16 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
break;
|
||||
}
|
||||
|
||||
#if 0
|
||||
{
|
||||
char *pszAtomName = NULL;
|
||||
|
||||
ErrorF ("SelectionNotify - returned data %d left %d\n",
|
||||
xtpText.nitems, ulReturnBytesLeft);
|
||||
|
||||
winDebug("SelectionNotify - returned data %d left %d\n",
|
||||
xtpText.nitems, ulReturnBytesLeft);
|
||||
pszAtomName = XGetAtomName(pDisplay, xtpText.encoding);
|
||||
ErrorF ("Notify atom name %s\n", pszAtomName);
|
||||
winDebug("Notify atom name %s\n", pszAtomName);
|
||||
XFree (pszAtomName);
|
||||
pszAtomName = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (fUseUnicode)
|
||||
{
|
||||
|
@ -816,7 +801,15 @@ winClipboardFlushXEvents (HWND hwnd,
|
|||
SetClipboardData (CF_TEXT, NULL);
|
||||
return WIN_XEVENTS_NOTIFY;
|
||||
|
||||
case SelectionClear:
|
||||
winDebug("SelectionClear - doing nothing\n");
|
||||
break;
|
||||
|
||||
case PropertyNotify:
|
||||
break;
|
||||
|
||||
default:
|
||||
ErrorF ("winClipboardFlushXEvents - unexpected event type %d\n", event.type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user