diff options
author | Po Lu <luangruo@yahoo.com> | 2022-07-02 09:06:36 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-07-02 09:06:36 +0800 |
commit | eb6d74a26c64e6aa444f21b12a7ab9951a00bfa5 (patch) | |
tree | 728d93e2ab3145473698f02b2726a087feb52005 /src/keyboard.c | |
parent | 154634dcf0efb3e304b077ba532ae11ab8ed724d (diff) | |
download | emacs-eb6d74a26c64e6aa444f21b12a7ab9951a00bfa5.tar.gz |
Return the correct action from the Lisp side of drag-and-drop
* lisp/x-dnd.el (x-dnd-handle-drag-n-drop-event): Select
`window' when handling internal DND events.
(x-dnd-handle-unsupported-drop): Return an appropriate action.
* src/keyboard.c (kbd_buffer_get_event):
* src/termhooks.h (enum event_kind): Delete
`UNSUPPORTED_DROP_EVENT'.
* src/xterm.c (x_dnd_send_unsupported_drop): Set flags instead
of recording input event.
(x_clear_dnd_monitors): Rename to `x_clear_dnd_variables'. Also
clear unsupported drop data.
(x_dnd_begin_drag_and_drop): Run unsupported drop function
inline (and safely), and use its return value if it returned a
symbol.
(syms_of_xterm): Update doc string of
`x-dnd-unsupported-drop-function'.
* src/xterm.h: Update declarations.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r-- | src/keyboard.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 4cac20eb4b7..bed8307b6f2 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -4036,56 +4036,6 @@ kbd_buffer_get_event (KBOARD **kbp, } break; -#ifdef HAVE_X_WINDOWS - case UNSUPPORTED_DROP_EVENT: - { - struct frame *f; - - kbd_fetch_ptr = next_kbd_event (event); - input_pending = readable_events (0); - - /* This means this event was already handled in - `x_dnd_begin_drag_and_drop'. */ - if (event->ie.modifiers < x_dnd_unsupported_event_level) - break; - - f = XFRAME (event->ie.frame_or_window); - - if (!FRAME_LIVE_P (f)) - break; - - if (!NILP (Vx_dnd_unsupported_drop_function)) - { - if (!NILP (call8 (Vx_dnd_unsupported_drop_function, - XCAR (XCDR (event->ie.arg)), event->ie.x, - event->ie.y, XCAR (XCDR (XCDR (event->ie.arg))), - make_uint (event->ie.code), - event->ie.frame_or_window, - make_int (event->ie.timestamp), - Fcopy_sequence (XCAR (event->ie.arg))))) - break; - } - - /* `x-dnd-unsupported-drop-function' could have deleted the - event frame. */ - if (!FRAME_LIVE_P (f) - /* This means `x-dnd-use-unsupported-drop' was nil when the - event was generated. */ - || NILP (XCAR (XCDR (XCDR (XCDR (event->ie.arg)))))) - break; - - x_dnd_do_unsupported_drop (FRAME_DISPLAY_INFO (f), - event->ie.frame_or_window, - XCAR (event->ie.arg), - XCAR (XCDR (event->ie.arg)), - (Window) event->ie.code, - XFIXNUM (event->ie.x), - XFIXNUM (event->ie.y), - event->ie.timestamp); - break; - } -#endif - case MONITORS_CHANGED_EVENT: { kbd_fetch_ptr = next_kbd_event (event); |