* xselect.c (TRACE3): New debug macro.
authorJan Djärv <jan.h.d@swipnet.se>
Fri, 5 Nov 2004 07:05:13 +0000 (07:05 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Fri, 5 Nov 2004 07:05:13 +0000 (07:05 +0000)
(x_reply_selection_request): Use it.
(receive_incremental_selection): In call to TRACE0, the name of
a symbol is in xname.

src/ChangeLog
src/xselect.c

index 43bf4f5..559ffd6 100644 (file)
@@ -1,3 +1,10 @@
+2004-11-05  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
+
+       * xselect.c (TRACE3): New debug macro.
+       (x_reply_selection_request): Use it.
+       (receive_incremental_selection): In call to TRACE0, the name of
+       a symbol is in xname.
+
 2004-11-05  Kim F. Storm  <storm@cua.dk>
 
        * fontset.c (fontset_pattern_regexp): Use unsigned char.
index 35f4586..0d327da 100644 (file)
@@ -85,10 +85,13 @@ static void initialize_cut_buffers P_ ((Display *, Window));
   fprintf (stderr, "%d: " fmt "\n", getpid (), a0)
 #define TRACE2(fmt, a0, a1) \
   fprintf (stderr, "%d: " fmt "\n", getpid (), a0, a1)
+#define TRACE3(fmt, a0, a1, a2) \
+  fprintf (stderr, "%d: " fmt "\n", getpid (), a0, a1, a2)
 #else
 #define TRACE0(fmt)            (void) 0
 #define TRACE1(fmt, a0)                (void) 0
 #define TRACE2(fmt, a0, a1)    (void) 0
+#define TRACE3(fmt, a0, a1)    (void) 0
 #endif
 
 
@@ -623,6 +626,17 @@ x_reply_selection_request (event, format, data, size, type)
   BLOCK_INPUT;
   count = x_catch_errors (display);
 
+#ifdef TRACE_SELECTION
+  {
+    static int cnt;
+    char *sel = XGetAtomName (display, reply.selection);
+    char *tgt = XGetAtomName (display, reply.target);
+    TRACE3 ("%s, target %s (%d)", sel, tgt, ++cnt);
+    if (sel) XFree (sel);
+    if (tgt) XFree (tgt);
+  }
+#endif /* TRACE_SELECTION */
+
   /* Store the data on the requested property.
      If the selection is large, only store the first N bytes of it.
    */
@@ -1445,10 +1459,10 @@ receive_incremental_selection (display, window, property, target_type,
   BLOCK_INPUT;
   XSelectInput (display, window, STANDARD_EVENT_SET | PropertyChangeMask);
   TRACE1 ("  Delete property %s",
-         XSYMBOL (x_atom_to_symbol (display, property))->name->data);
+         SDATA (XSYMBOL (x_atom_to_symbol (display, property))->xname));
   XDeleteProperty (display, window, property);
   TRACE1 ("  Expect new value of property %s",
-         XSYMBOL (x_atom_to_symbol (display, property))->name->data);
+         SDATA (XSYMBOL (x_atom_to_symbol (display, property))->xname));
   wait_object = expect_property_change (display, window, property,
                                        PropertyNewValue);
   XFlush (display);