* src/xterm.c (xm_get_drag_atom_1): Record owner.
(x_free_frame_resources): Clear drag atom if owner was freed.
* src/xterm.h (struct x_display_info): New field
`motif_drag_atom_owner'.
}
dpyinfo->motif_drag_atom_time = dpyinfo->last_user_time;
+ dpyinfo->motif_drag_atom_owner = source_frame;
XUngrabServer (dpyinfo->display);
return atom;
g_object_unref (FRAME_OUTPUT_DATA (f)->scrollbar_foreground_css_provider);
#endif
+ if (f == dpyinfo->motif_drag_atom_owner)
+ {
+ dpyinfo->motif_drag_atom_owner = NULL;
+ dpyinfo->motif_drag_atom = None;
+ }
+
if (f == dpyinfo->x_focus_frame)
dpyinfo->x_focus_frame = 0;
if (f == dpyinfo->x_focus_event_frame)
/* When it was owned. */
Time motif_drag_atom_time;
+ /* The frame that currently owns `motif_drag_atom'. */
+ struct frame *motif_drag_atom_owner;
+
/* Extended window manager hints, Atoms supported by the window manager and
atoms for setting the window type. */
Atom Xatom_net_supported, Xatom_net_supporting_wm_check;