]> git.eshelyaron.com Git - emacs.git/commitdiff
Reset Motif DND protocol numbers when writing targets table
authorPo Lu <luangruo@yahoo.com>
Wed, 20 Apr 2022 08:06:06 +0000 (16:06 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 20 Apr 2022 08:06:06 +0000 (16:06 +0800)
* src/xterm.c (xm_setup_dnd_targets): Set header.protocol to 0
when writing table.

src/xterm.c

index 92c8ac09c974e10565f68b701e90b392c2f5510f..0243b3cf96c41f64f93add67bd14e159105fa112 100644 (file)
@@ -1662,9 +1662,17 @@ xm_setup_dnd_targets (struct x_display_info *dpyinfo,
     }
 
   if (!rc)
-    xm_write_targets_table (dpyinfo->display, drag_window,
-                           dpyinfo->Xatom_MOTIF_DRAG_TARGETS,
-                           &header, recs);
+    {
+      /* Some implementations of Motif DND set the protocol version of
+        just the targets table to 1 without actually changing the
+        data format.  To avoid confusing Motif when that happens, set
+        it back to 0.  There will probably be no more updates to the
+        protocol either.  */
+      header.protocol = 0;
+      xm_write_targets_table (dpyinfo->display, drag_window,
+                             dpyinfo->Xatom_MOTIF_DRAG_TARGETS,
+                             &header, recs);
+    }
 
   XUngrabServer (dpyinfo->display);