aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Clipboard.c38
1 files changed, 20 insertions, 18 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index 0f94fac46..a5d74415e 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -958,12 +958,14 @@ static void replyRequestSelectionToXServer(XEvent *X, Bool success)
*/
void nxagentHandleSelectionRequestFromXServer(XEvent *X)
{
+ XlibAtom target = X->xselectionrequest.target;
+
#ifdef DEBUG
fprintf(stderr, "---------\n%s: Received SelectionRequestEvent from real server: selection [%ld][%s] " \
"target [%ld][%s] requestor [display[%s]/0x%lx] destination [%ld][%s] time [%lu]\n",
__func__,
X->xselectionrequest.selection, NameForRemoteAtom(X->xselectionrequest.selection),
- X->xselectionrequest.target, NameForRemoteAtom(X->xselectionrequest.target),
+ target, NameForRemoteAtom(target),
DisplayString(nxagentDisplay), X->xselectionrequest.requestor,
X->xselectionrequest.property, NameForRemoteAtom(X->xselectionrequest.property),
X->xselectionrequest.time);
@@ -1008,7 +1010,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
return;
}
- if (X->xselectionrequest.target == serverTARGETS)
+ if (target == serverTARGETS)
{
/*
* In TextClipboard mode answer with a predefined list of
@@ -1101,7 +1103,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
}
}
}
- else if (X->xselectionrequest.target == serverTIMESTAMP)
+ else if (target == serverTIMESTAMP)
{
/*
* Section 2.6.2 of the ICCCM states:
@@ -1128,7 +1130,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, True);
return;
}
- else if (X->xselectionrequest.target == serverMULTIPLE)
+ else if (target == serverMULTIPLE)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [MULTIPLE] - denying request.\n", __func__);
@@ -1136,7 +1138,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, False);
return;
}
- else if (X->xselectionrequest.target == serverDELETE)
+ else if (target == serverDELETE)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [DELETE] - denying request.\n", __func__);
@@ -1144,7 +1146,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, False);
return;
}
- else if (X->xselectionrequest.target == serverINSERT_SELECTION)
+ else if (target == serverINSERT_SELECTION)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [INSERT_SELECTION] - denying request.\n", __func__);
@@ -1152,7 +1154,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, False);
return;
}
- else if (X->xselectionrequest.target == serverINSERT_PROPERTY)
+ else if (target == serverINSERT_PROPERTY)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [INSERT_PROPERTY] - denying request.\n", __func__);
@@ -1160,7 +1162,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, False);
return;
}
- else if (X->xselectionrequest.target == serverSAVE_TARGETS)
+ else if (target == serverSAVE_TARGETS)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [SAVE_TARGETS] - denying request.\n", __func__);
@@ -1168,7 +1170,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
replyRequestSelectionToXServer(X, False);
return;
}
- else if (X->xselectionrequest.target == serverTARGET_SIZES)
+ else if (target == serverTARGET_SIZES)
{
#ifdef DEBUG
fprintf(stderr, "%s: (currently) unsupported target [TARGET_SIZES] - denying request.\n", __func__);
@@ -1179,11 +1181,11 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
if (nxagentOption(TextClipboard))
{
- if (!isTextTarget(X->xselectionrequest.target))
+ if (!isTextTarget(target))
{
#ifdef DEBUG
fprintf(stderr, "%s: denying request for non-text target [%ld][%s].\n", __func__,
- X->xselectionrequest.target, NameForRemoteAtom(X->xselectionrequest.target));
+ target, NameForRemoteAtom(target));
#endif
replyRequestSelectionToXServer(X, False);
@@ -1194,8 +1196,8 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
}
#ifdef DEBUG
- fprintf(stderr, "%s: target [%ld][%s].\n", __func__, X->xselectionrequest.target,
- NameForRemoteAtom(X->xselectionrequest.target));
+ fprintf(stderr, "%s: target [%ld][%s].\n", __func__, target,
+ NameForRemoteAtom(target));
#endif
/*
@@ -1219,7 +1221,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
Bool match = False;
for (int i = 0; i < targetCache[index].numTargets; i++)
{
- if (targets[i] == X->xselectionrequest.target)
+ if (targets[i] == target)
{
match = True;
break;
@@ -1243,7 +1245,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
* supported targets first.
*/
#ifdef DEBUG
- if (X->xselectionrequest.target != serverTARGETS)
+ if (target != serverTARGETS)
{
fprintf(stderr, "%s: WARNING: remote client has not retrieved TARGETS before asking for selection!\n",
__func__);
@@ -1283,7 +1285,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
*/
lastServers[index].property = X->xselectionrequest.property;
lastServers[index].requestor = X->xselectionrequest.requestor;
- lastServers[index].target = X->xselectionrequest.target;
+ lastServers[index].target = target;
lastServers[index].time = X->xselectionrequest.time;
/* Prepare the request (like XConvertSelection, but locally). */
@@ -1310,7 +1312,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
if (nxagentOption(TextClipboard))
{
/* by dimbor */
- if (X->xselectionrequest.target != XA_STRING)
+ if (target != XA_STRING)
{
lastServers[index].target = serverUTF8_STRING;
/* by dimbor (idea from zahvatov) */
@@ -1323,7 +1325,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
}
else
{
- x.u.selectionRequest.target = nxagentRemoteToLocalAtom(X->xselectionrequest.target);
+ x.u.selectionRequest.target = nxagentRemoteToLocalAtom(target);
}
/*