changeset 57948:481911368712

* 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.
author Jan Djärv <jan.h.d@swipnet.se>
date Fri, 05 Nov 2004 07:05:13 +0000
parents 678d2c0d522e
children 7a4dd36b2893
files src/ChangeLog src/xselect.c
diffstat 2 files changed, 23 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Nov 04 23:12:33 2004 +0000
+++ b/src/ChangeLog	Fri Nov 05 07:05:13 2004 +0000
@@ -1,3 +1,10 @@
+2004-11-05  Jan Dj,Ad(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.
--- a/src/xselect.c	Thu Nov 04 23:12:33 2004 +0000
+++ b/src/xselect.c	Fri Nov 05 07:05:13 2004 +0000
@@ -85,10 +85,13 @@
   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 @@
   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 @@
   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);