diff options
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Clipboard.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Clipboard.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c index 7ca22ffad..ceb47b669 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c @@ -292,7 +292,7 @@ static void printSelectionStat(int sel) #else fprintf(stderr, " CurrentSelections[].client [%p] index [%d]\n", (void *)curSel.client, - CLINDEX(curSel.client); + CLINDEX(curSel.client)); #endif fprintf(stderr, " CurrentSelections[].window [0x%x]\n", curSel.window); return; @@ -1937,17 +1937,23 @@ int nxagentConvertSelection(ClientPtr client, WindowPtr pWin, Atom selection, */ XlibAtom p = serverTransToAgentProperty; XlibAtom t; + #ifdef DEBUG char * pstr = "NX_CUT_BUFFER_SERVER"; const char * tstr; + #endif if (target == clientUTF8_STRING) { t = serverUTF8_STRING; + #ifdef DEBUG tstr = szAgentUTF8_STRING; + #endif } else { t = XA_STRING; + #ifdef DEBUG tstr = validateString(NameForAtom(XA_STRING)); + #endif } #ifdef DEBUG @@ -2025,11 +2031,12 @@ int nxagentSendNotify(xEvent *event) * communication happens completely between our own clients (some of * which can be nxagents themselves). In that case we return 0 (tell * dix to go on) and do nothing! + * Be sure to not let this trigger for the failure answer (property 0) */ - if (event->u.selectionNotify.property != clientCutProperty || lastServerRequestor == None) + if (!(event->u.selectionNotify.property == clientCutProperty || event->u.selectionNotify.property == 0) || lastServerRequestor == None) { #ifdef DEBUG - fprintf(stderr, "%s: sent nothing.\n", __func__); + fprintf(stderr, "%s: sent nothing - message to real X server is not required.\n", __func__); #endif return 0; } |