diff options
| author | Po Lu | 2022-05-09 09:17:28 +0800 |
|---|---|---|
| committer | Po Lu | 2022-05-09 09:17:28 +0800 |
| commit | 3d846efb857c0ace95d6fe026522fcdbffe04dc3 (patch) | |
| tree | 888828ca6c4a9f8876d4e8585c5d562271897c5d /src/termhooks.h | |
| parent | 8d788a195f68bf7451635f7d4dfe86a6dc2bbda5 (diff) | |
| download | emacs-3d846efb857c0ace95d6fe026522fcdbffe04dc3.tar.gz emacs-3d846efb857c0ace95d6fe026522fcdbffe04dc3.zip | |
Fix race conditions in handling of unsupported drops on X
* lisp/x-dnd.el (x-dnd-handle-unsupported-drop): Adjust for new
parameters.
* src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr):
Export variables.
(kbd_buffer_get_event): Ignore already handled unsupported
drops.
* src/keyboard.h: Update prototypes.
* src/termhooks.h (enum event_kind): Document meaning of
`modifiers' in UNSUPPORTED_DROP_EVENTs.
* src/xterm.c (x_dnd_send_unsupported_drop): Set event modifiers
to current level.
(x_toggle_visible_pointer): Fix fixes fallback.
(x_dnd_begin_drag_and_drop): Handle UNSUPPORTED_DROP_EVENTs
already in the keyboard buffer before starting DND.
(syms_of_xterm): Give timestamp to unsupported drop function.
* src/xterm.h: Update prototypes.
Diffstat (limited to 'src/termhooks.h')
| -rw-r--r-- | src/termhooks.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/termhooks.h b/src/termhooks.h index 8c193914ba8..08bde0aec0d 100644 --- a/src/termhooks.h +++ b/src/termhooks.h | |||
| @@ -223,6 +223,11 @@ enum event_kind | |||
| 223 | gives the timestamp where the drop | 223 | gives the timestamp where the drop |
| 224 | happened. | 224 | happened. |
| 225 | 225 | ||
| 226 | .modifiers gives a number that | ||
| 227 | determines if an event was already | ||
| 228 | handled by | ||
| 229 | `x_dnd_begin_drag_and_drop'. | ||
| 230 | |||
| 226 | .x and .y give the coordinates of | 231 | .x and .y give the coordinates of |
| 227 | the drop originating from the root | 232 | the drop originating from the root |
| 228 | window. */ | 233 | window. */ |