From e4ed7e0ce97528b2130c33326179a10d6133ce92 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Wed, 20 Apr 2022 16:06:06 +0800 Subject: [PATCH] Reset Motif DND protocol numbers when writing targets table * src/xterm.c (xm_setup_dnd_targets): Set header.protocol to 0 when writing table. --- src/xterm.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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); -- 2.39.2