&win_x, &win_y, &dummy))
return;
+ /* Emacs can't respond to DND events inside the nested event
+ loop, so when dragging items to itself, always return
+ XdndActionPrivate. */
+ x_dnd_action = dpyinfo->Xatom_XdndActionPrivate;
+
EVENT_INIT (ie);
ie.kind = DRAG_N_DROP_EVENT;
#endif
XWindowAttributes root_window_attrs;
struct input_event hold_quit;
- struct frame *any;
char *atom_name, *ask_actions;
Lisp_Object action, ltimestamp;
specpdl_ref ref, count, base;
x_dnd_return_frame_object = NULL;
FRAME_DISPLAY_INFO (f)->grabbed = 0;
- /* Emacs can't respond to DND events inside the nested event
- loop, so when dragging items to itself, always return
- XdndActionPrivate. */
- if (x_dnd_end_window != None
- && (any = x_any_window_to_frame (FRAME_DISPLAY_INFO (f),
- x_dnd_end_window))
- && (allow_current_frame || any != f))
- return unbind_to (base, QXdndActionPrivate);
-
if (x_dnd_action != None)
{
block_input ();
&& x_dnd_last_window_is_frame)
{
x_dnd_waiting_for_finish = false;
- x_dnd_note_self_drop (dpyinfo, x_dnd_last_seen_window,
- event->xbutton.time, event->xbutton.x_root,
- event->xbutton.y_root);
+ x_dnd_note_self_drop (dpyinfo,
+ x_dnd_last_seen_window,
+ event->xbutton.x_root,
+ event->xbutton.y_root,
+ event->xbutton.time);
}
else if (x_dnd_last_seen_window != None
&& x_dnd_last_protocol_version != -1)
{
x_dnd_waiting_for_finish = false;
x_dnd_note_self_drop (dpyinfo, x_dnd_last_seen_window,
- xev->time, xev->root_x, xev->root_y);
+ xev->root_x, xev->root_y, xev->time);
}
else if (x_dnd_last_seen_window != None
&& x_dnd_last_protocol_version != -1)