From: Po Lu Date: Wed, 20 Apr 2022 08:06:06 +0000 (+0800) Subject: Reset Motif DND protocol numbers when writing targets table X-Git-Tag: emacs-29.0.90~1931^2~392 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e4ed7e0ce97528b2130c33326179a10d6133ce92;p=emacs.git Reset Motif DND protocol numbers when writing targets table * src/xterm.c (xm_setup_dnd_targets): Set header.protocol to 0 when writing table. --- diff --git a/src/xterm.c b/src/xterm.c index 92c8ac09c97..0243b3cf96c 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -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);