[X2Go-Commits] [nx-libs] 323/429: Clipboard.c: use index everywhere

git-admin at x2go.org git-admin at x2go.org
Mon Oct 18 09:36:57 CEST 2021


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit 0ad6b8bd6013bb3040343188e0258488b6434710
Author: Ulrich Sibiller <uli42 at gmx.de>
Date:   Sat Oct 3 00:48:45 2020 +0200

    Clipboard.c: use index everywhere
---
 nx-X11/programs/Xserver/hw/nxagent/Clipboard.c | 175 ++++++++++++-------------
 1 file changed, 87 insertions(+), 88 deletions(-)

diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index a07e5a5e8..01cdcad21 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -269,14 +269,13 @@ XlibAtom translateLocalToRemoteTarget(Atom local);
 extern unsigned long startTime;
 #endif
 
-// FIXME: change sel to index
-static void printSelectionStat(int sel)
+static void printSelectionStat(int index)
 {
-  SelectionOwner lOwner = lastSelectionOwner[sel];
-  Selection curSel = CurrentSelections[sel];
+  SelectionOwner lOwner = lastSelectionOwner[index];
+  Selection curSel = CurrentSelections[index];
   char *s = NULL;
 
-  fprintf(stderr, "  owner is inside nxagent?               %s\n", IS_INTERNAL_OWNER(sel) ? "yes" : "no");
+  fprintf(stderr, "  owner is inside nxagent?               %s\n", IS_INTERNAL_OWNER(index) ? "yes" : "no");
   fprintf(stderr, "  lastSelectionOwner[].client            %s\n", nxagentClientInfoString(lOwner.client));
   fprintf(stderr, "  lastSelectionOwner[].window            [0x%x]\n", lOwner.window);
   if (lOwner.windowPtr)
@@ -653,25 +652,25 @@ void nxagentClearClipboard(ClientPtr pClient, WindowPtr pWindow)
    * Only for PRIMARY and CLIPBOARD selections.
    */
 
-  for (int i = 0; i < nxagentMaxSelections; i++)
+  for (int index = 0; index < nxagentMaxSelections; index++)
   {
-    if (matchSelectionOwner(i, pClient, pWindow))
+    if (matchSelectionOwner(index, pClient, pWindow))
     {
       #ifdef TEST
       fprintf(stderr, "%s: Resetting state [%d] with client [%p] window [%p].\n", __func__,
-                  i, (void *) pClient, (void *) pWindow);
+                  index, (void *) pClient, (void *) pWindow);
       #endif
 
-      clearSelectionOwnerData(i);
+      clearSelectionOwnerData(index);
 
-      setClientSelectionStage(SelectionStageNone, i);
+      setClientSelectionStage(SelectionStageNone, index);
 
       lastServerRequestor = None;
     }
 
-    if (pWindow && pWindow == lastClients[i].windowPtr)
+    if (pWindow && pWindow == lastClients[index].windowPtr)
     {
-      setClientSelectionStage(SelectionStageNone, i);
+      setClientSelectionStage(SelectionStageNone, index);
     }
   }
 }
@@ -682,13 +681,13 @@ void nxagentClearClipboard(ClientPtr pClient, WindowPtr pWindow)
  */
 int nxagentFindLastSelectionOwnerIndex(XlibAtom sel)
 {
-  int i = 0;
-  while (i < nxagentMaxSelections &&
-            lastSelectionOwner[i].remSelection != sel)
+  int index = 0;
+  while (index < nxagentMaxSelections &&
+            lastSelectionOwner[index].remSelection != sel)
   {
-    i++;
+    index++;
   }
-  return i;
+  return index;
 }
 
 /*
@@ -697,13 +696,13 @@ int nxagentFindLastSelectionOwnerIndex(XlibAtom sel)
  */
 int nxagentFindCurrentSelectionIndex(Atom sel)
 {
-  int i = 0;
-  while (i < NumCurrentSelections &&
-            CurrentSelections[i].selection != sel)
+  int index = 0;
+  while (index < NumCurrentSelections &&
+            CurrentSelections[index].selection != sel)
   {
-    i++;
+    index++;
   }
-  return i;
+  return index;
 }
 
 /*
@@ -733,19 +732,19 @@ void nxagentHandleSelectionClearFromXServer(XEvent *X)
     return;
   }
 
-  int i = nxagentFindLastSelectionOwnerIndex(X->xselectionclear.selection);
-  if (i < nxagentMaxSelections)
+  int index = nxagentFindLastSelectionOwnerIndex(X->xselectionclear.selection);
+  if (index < nxagentMaxSelections)
   {
-    if (IS_INTERNAL_OWNER(i))
+    if (IS_INTERNAL_OWNER(index))
     {
       /* send a SelectionClear event to (our) previous owner */
       xEvent x = {0};
       x.u.u.type = SelectionClear;
       x.u.selectionClear.time = GetTimeInMillis();
-      x.u.selectionClear.window = lastSelectionOwner[i].window;
-      x.u.selectionClear.atom = CurrentSelections[i].selection;
+      x.u.selectionClear.window = lastSelectionOwner[index].window;
+      x.u.selectionClear.atom = CurrentSelections[index].selection;
 
-      sendEventToClient(lastSelectionOwner[i].client, &x);
+      sendEventToClient(lastSelectionOwner[index].client, &x);
     }
 
     /*
@@ -753,12 +752,12 @@ void nxagentHandleSelectionClearFromXServer(XEvent *X)
      * clients asking for the owner via XGetSelectionOwner() will get
      * these for an answer
      */
-    CurrentSelections[i].window = screenInfo.screens[0]->root->drawable.id;
-    CurrentSelections[i].client = NullClient;
+    CurrentSelections[index].window = screenInfo.screens[0]->root->drawable.id;
+    CurrentSelections[index].client = NullClient;
 
-    clearSelectionOwnerData(i);
+    clearSelectionOwnerData(index);
 
-    setClientSelectionStage(SelectionStageNone, i);
+    setClientSelectionStage(SelectionStageNone, index);
   }
 }
 
@@ -839,8 +838,8 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
 
   /* the selection in this request is none we own. */
   {
-    int i = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
-    if (i == nxagentMaxSelections)
+    int index = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
+    if (index == nxagentMaxSelections)
     {
       #ifdef DEBUG
       fprintf(stderr, "%s: not owning selection [%ld] - denying request.\n", __func__, X->xselectionrequest.selection);
@@ -919,8 +918,8 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
        * FIXME: selection has already been checked above, so we do not need to check again here
        */
 
-      int i = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
-      if (i < nxagentMaxSelections)
+      int index = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
+      if (index < nxagentMaxSelections)
       {
         XChangeProperty(nxagentDisplay,
                         X->xselectionrequest.requestor,
@@ -928,7 +927,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
                         XA_INTEGER,
                         32,
                         PropModeReplace,
-                        (unsigned char *) &lastSelectionOwner[i].lastTimeChanged,
+                        (unsigned char *) &lastSelectionOwner[index].lastTimeChanged,
                         1);
         replyRequestSelectionToXServer(X, True);
       }
@@ -958,11 +957,11 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
   serverLastRequestedSelection = X->xselectionrequest.selection;
 
   /* find the index of the requested selection */
-  int i = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
-  if (i < nxagentMaxSelections)
+  int index = nxagentFindLastSelectionOwnerIndex(X->xselectionrequest.selection);
+  if (index < nxagentMaxSelections)
   {
 #if 0
-    if (lastClients[i].windowPtr != NULL && IS_INTERNAL_OWNER(i))
+    if (lastClients[index].windowPtr != NULL && IS_INTERNAL_OWNER(index))
     {
       /*
        * Request the real X server to transfer the selection content
@@ -973,21 +972,21 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
        * - at the same time paste _clipboard_ to the client (now) owning primary
        *   ->vcxsrv will ask for primary contents to store them to Windows clipboard
        * - vcxsrv request is for _primary_ and takes this path as the _clipboard_ transfer
-       * has set lastClients[i].windowPtr
+       * has set lastClients[index].windowPtr
        */
-      XConvertSelection(nxagentDisplay, CurrentSelections[i].selection,
+      XConvertSelection(nxagentDisplay, CurrentSelections[index].selection,
                             X->xselectionrequest.target, serverTransToAgentProperty,
-                                serverWindow, lastClients[i].time);
+                                serverWindow, lastClients[index].time);
 
       #ifdef DEBUG
       char *strTarget = XGetAtomName(nxagentDisplay, X->xselectionrequest.target);
-      char *strSelection = XGetAtomName(nxagentDisplay, CurrentSelections[i].selection);
+      char *strSelection = XGetAtomName(nxagentDisplay, CurrentSelections[index].selection);
       char *strProperty = XGetAtomName(nxagentDisplay, serverTransToAgentProperty);
       fprintf(stderr, "%s: Sent XConvertSelection: selection [%d][%s] target [%ld][%s] property [%ld][%s] window [0x%x] time [%u] .\n", __func__,
-                  CurrentSelections[i].selection, strSelection,
+                  CurrentSelections[index].selection, strSelection,
                       X->xselectionrequest.target, strTarget,
                           serverTransToAgentProperty, strProperty,
-                              serverWindow, lastClients[i].time);
+                              serverWindow, lastClients[index].time);
       #endif
       SAFE_XFree(strTarget);
       SAFE_XFree(strSelection);
@@ -1002,7 +1001,7 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
        * window in the first step. We then later push that property's
        * content to the real X server.
        */
-      if (IS_INTERNAL_OWNER(i) &&
+      if (IS_INTERNAL_OWNER(index) &&
               (nxagentOption(Clipboard) == ClipboardServer ||
                    nxagentOption(Clipboard) == ClipboardBoth))
       {
@@ -1023,8 +1022,8 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
         xEvent x = {0};
         x.u.u.type = SelectionRequest;
         x.u.selectionRequest.time = GetTimeInMillis();
-        x.u.selectionRequest.owner = lastSelectionOwner[i].window;
-        x.u.selectionRequest.selection = CurrentSelections[i].selection;
+        x.u.selectionRequest.owner = lastSelectionOwner[index].window;
+        x.u.selectionRequest.selection = CurrentSelections[index].selection;
         x.u.selectionRequest.property = clientCutProperty;
         x.u.selectionRequest.requestor = screenInfo.screens[0]->root->drawable.id; /* Fictitious window.*/
 
@@ -1042,12 +1041,12 @@ void nxagentHandleSelectionRequestFromXServer(XEvent *X)
         else
           x.u.selectionRequest.target = XA_STRING;
 
-        sendEventToClient(lastSelectionOwner[i].client, &x);
+        sendEventToClient(lastSelectionOwner[index].client, &x);
 
         #ifdef DEBUG
         fprintf(stderr, "%s: sent SelectionRequest event to client %s property [%d][%s]" \
                 "target [%d][%s] requestor [0x%x].\n", __func__,
-                nxagentClientInfoString(lastSelectionOwner[i].client),
+                nxagentClientInfoString(lastSelectionOwner[index].client),
                 x.u.selectionRequest.property, NameForAtom(x.u.selectionRequest.property),
                 x.u.selectionRequest.target, NameForAtom(x.u.selectionRequest.target),
                 x.u.selectionRequest.requestor);
@@ -1541,15 +1540,15 @@ void nxagentHandleSelectionNotifyFromXServer(XEvent *X)
   }
   else
   {
-    int i = nxagentFindLastSelectionOwnerIndex(X->xselection.selection);
-    if (i < nxagentMaxSelections)
+    int index = nxagentFindLastSelectionOwnerIndex(X->xselection.selection);
+    if (index < nxagentMaxSelections)
     {
       /* if the last owner was an internal one, read the
        * clientCutProperty and push the contents to the
        * lastServerRequestor on the real X server.
        */
-      if (IS_INTERNAL_OWNER(i) &&
-             lastSelectionOwner[i].windowPtr != NULL &&
+      if (IS_INTERNAL_OWNER(index) &&
+             lastSelectionOwner[index].windowPtr != NULL &&
                  X->xselection.property == serverTransFromAgentProperty)
       {
         Atom            atomReturnType;
@@ -1559,13 +1558,13 @@ void nxagentHandleSelectionNotifyFromXServer(XEvent *X)
         unsigned char   *pszReturnData = NULL;
 
         /* first get size values ... */
-        int result = GetWindowProperty(lastSelectionOwner[i].windowPtr, clientCutProperty, 0, 0, False,
+        int result = GetWindowProperty(lastSelectionOwner[index].windowPtr, clientCutProperty, 0, 0, False,
                                            AnyPropertyType, &atomReturnType, &resultFormat,
                                                &ulReturnItems, &ulReturnBytesLeft, &pszReturnData);
 
         #ifdef DEBUG
         fprintf(stderr, "%s: GetWindowProperty() window [0x%x] property [%d] returned [%s]\n", __func__,
-                    lastSelectionOwner[i].window, clientCutProperty, getXErrorString(result));
+                    lastSelectionOwner[index].window, clientCutProperty, getXErrorString(result));
         #endif
         if (result == BadAlloc || result == BadAtom ||
                 result == BadWindow || result == BadValue)
@@ -1575,13 +1574,13 @@ void nxagentHandleSelectionNotifyFromXServer(XEvent *X)
         else
         {
           /* ... then use the size values for the actual request */
-          result = GetWindowProperty(lastSelectionOwner[i].windowPtr, clientCutProperty, 0,
+          result = GetWindowProperty(lastSelectionOwner[index].windowPtr, clientCutProperty, 0,
                                          ulReturnBytesLeft, False, AnyPropertyType, &atomReturnType,
                                              &resultFormat, &ulReturnItems, &ulReturnBytesLeft,
                                                  &pszReturnData);
           #ifdef DEBUG
           fprintf(stderr, "%s: GetWindowProperty() window [0x%x] property [%d] returned [%s]\n", __func__,
-                      lastSelectionOwner[i].window, clientCutProperty, getXErrorString(result));
+                      lastSelectionOwner[index].window, clientCutProperty, getXErrorString(result));
           #endif
 
           if (result == BadAlloc || result == BadAtom ||
@@ -1684,17 +1683,17 @@ static void resetSelectionOwnerOnXServer(void)
    * Only for PRIMARY and CLIPBOARD selections.
    */
 
-  for (int i = 0; i < nxagentMaxSelections; i++)
+  for (int index = 0; index < nxagentMaxSelections; index++)
   {
-    XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[i].remSelection, serverWindow, CurrentTime);
+    XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[index].remSelection, serverWindow, CurrentTime);
 
     #ifdef DEBUG
-    fprintf(stderr, "%s: Reset selection state for selection [%d].\n", __func__, i);
+    fprintf(stderr, "%s: Reset selection state for selection [%d].\n", __func__, index);
     #endif
 
-    clearSelectionOwnerData(i);
+    clearSelectionOwnerData(index);
 
-    setClientSelectionStage(SelectionStageNone, i);
+    setClientSelectionStage(SelectionStageNone, index);
   }
 
   /* Hmm, this is already None when reaching this */
@@ -1811,27 +1810,27 @@ static void setSelectionOwnerOnXServer(Selection *pSelection)
   }
   #endif
 
-  int i = nxagentFindCurrentSelectionIndex(pSelection->selection);
-  if (i < NumCurrentSelections)
+  int index = nxagentFindCurrentSelectionIndex(pSelection->selection);
+  if (index < NumCurrentSelections)
   {
     #ifdef DEBUG
     fprintf(stderr, "%s: lastSelectionOwner.client %s -> %s\n", __func__,
-                nxagentClientInfoString(lastSelectionOwner[i].client),
+                nxagentClientInfoString(lastSelectionOwner[index].client),
                     nxagentClientInfoString(pSelection->client));
     fprintf(stderr, "%s: lastSelectionOwner.window [0x%x] -> [0x%x]\n", __func__,
-            lastSelectionOwner[i].window, pSelection->window);
+            lastSelectionOwner[index].window, pSelection->window);
     fprintf(stderr, "%s: lastSelectionOwner.windowPtr [%p] -> [%p] [0x%x] (serverWindow: [0x%x])\n", __func__,
-            (void *)lastSelectionOwner[i].windowPtr, (void *)pSelection->pWin,
+            (void *)lastSelectionOwner[index].windowPtr, (void *)pSelection->pWin,
             nxagentWindow(pSelection->pWin), serverWindow);
     fprintf(stderr, "%s: lastSelectionOwner.lastTimeChanged [%u]\n", __func__,
-            lastSelectionOwner[i].lastTimeChanged);
+            lastSelectionOwner[index].lastTimeChanged);
     #endif
 
     /*
      * inform the real X server that our serverWindow is the
      * clipboard owner.
      */
-    XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[i].remSelection, serverWindow, CurrentTime);
+    XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[index].remSelection, serverWindow, CurrentTime);
 
     /*
      * The real owner window (inside nxagent) is stored in
@@ -1839,9 +1838,9 @@ static void setSelectionOwnerOnXServer(Selection *pSelection)
      * points to the struct that contains all information about the
      * owner window.
      */
-    storeSelectionOwnerData(i, pSelection);
+    storeSelectionOwnerData(index, pSelection);
 
-    setClientSelectionStage(SelectionStageNone, i);
+    setClientSelectionStage(SelectionStageNone, index);
   }
 
   lastServerRequestor = None;
@@ -2292,18 +2291,18 @@ int nxagentSendNotify(xEvent *event)
  */
 WindowPtr nxagentGetClipboardWindow(Atom property)
 {
-  int i = nxagentFindLastSelectionOwnerIndex(serverLastRequestedSelection);
-  if (i < nxagentMaxSelections &&
+  int index = nxagentFindLastSelectionOwnerIndex(serverLastRequestedSelection);
+  if (index < nxagentMaxSelections &&
           property == clientCutProperty &&
-              lastSelectionOwner[i].windowPtr != NULL)
+              lastSelectionOwner[index].windowPtr != NULL)
   {
     #ifdef DEBUG
     fprintf(stderr, "%s: Returning last [%d] selection owner window [%p] (0x%x).\n", __func__,
-            lastSelectionOwner[i].intSelection,
-            (void *)lastSelectionOwner[i].windowPtr, WINDOWID(lastSelectionOwner[i].windowPtr));
+            lastSelectionOwner[index].intSelection,
+            (void *)lastSelectionOwner[index].windowPtr, WINDOWID(lastSelectionOwner[index].windowPtr));
     #endif
 
-    return lastSelectionOwner[i].windowPtr;
+    return lastSelectionOwner[index].windowPtr;
   }
   else
   {
@@ -2411,10 +2410,10 @@ Bool nxagentInitClipboard(WindowPtr pWin)
     fprintf(stderr, "%s: Registering for XFixesSelectionNotify events.\n", __func__);
     #endif
 
-    for (int i = 0; i < nxagentMaxSelections; i++)
+    for (int index = 0; index < nxagentMaxSelections; index++)
     {
       XFixesSelectSelectionInput(nxagentDisplay, serverWindow,
-                                 lastSelectionOwner[i].remSelection,
+                                 lastSelectionOwner[index].remSelection,
                                  XFixesSetSelectionOwnerNotifyMask |
                                  XFixesSelectionWindowDestroyNotifyMask |
                                  XFixesSelectionClientCloseNotifyMask);
@@ -2453,16 +2452,16 @@ Bool nxagentInitClipboard(WindowPtr pWin)
     if (nxagentOption(Clipboard) == ClipboardServer ||
         nxagentOption(Clipboard) == ClipboardBoth)
     {
-      for (int i = 0; i < nxagentMaxSelections; i++)
+      for (int index = 0; index < nxagentMaxSelections; index++)
       {
         /*
          * if we have a selection inform the (new) real Xserver and
          * claim the ownership. Note that we report our serverWindow as
          * owner, not the real window!
          */
-         if (IS_INTERNAL_OWNER(i) && lastSelectionOwner[i].window)
+         if (IS_INTERNAL_OWNER(index) && lastSelectionOwner[index].window)
          {
-           XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[i].remSelection, serverWindow, CurrentTime);
+           XSetSelectionOwner(nxagentDisplay, lastSelectionOwner[index].remSelection, serverWindow, CurrentTime);
          }
       }
     }
@@ -2470,12 +2469,12 @@ Bool nxagentInitClipboard(WindowPtr pWin)
   }
   else
   {
-    for (int i = 0; i < nxagentMaxSelections; i++)
+    for (int index = 0; index < nxagentMaxSelections; index++)
     {
-      clearSelectionOwnerData(i);
-      resetClientSelectionStage(i);
+      clearSelectionOwnerData(index);
+      resetClientSelectionStage(index);
       /* FIXME: required? move to setSelctionStage? */
-      lastClients[i].reqTime = GetTimeInMillis();
+      lastClients[index].reqTime = GetTimeInMillis();
     }
 
     lastServerRequestor = None;

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list