diff options
| author | Po Lu | 2022-10-25 19:50:57 +0800 |
|---|---|---|
| committer | Po Lu | 2022-10-25 19:51:08 +0800 |
| commit | b6097fe279b03e2fb50fc6af063d7c8f1e55fe8b (patch) | |
| tree | 8d7a834c70cbb631fbdb086e9b4a2ba35a6b25c2 /src/xterm.h | |
| parent | bb95e597a9adcba0080cba85b2270fdf80696b3a (diff) | |
| download | emacs-b6097fe279b03e2fb50fc6af063d7c8f1e55fe8b.tar.gz emacs-b6097fe279b03e2fb50fc6af063d7c8f1e55fe8b.zip | |
Fix drag-and-drop bugs on Lucid build
Also, optimize Fx_translate_coordinates to avoid excessive calls
to _XReply.
* lisp/x-dnd.el (x-dnd-get-drop-rectangle): Return empty drop
rectangle if posn-area.
* src/xfns.c (Fx_translate_coordinates): Accept arg
`require_child'. If not set, allow optimizations based on
cached position data.
* src/xselect.c (x_handle_dnd_message): Use
x_translate_coordinates.
* src/xterm.c (x_translate_coordinates): Export function.
(x_handle_translate_coordinates): New function.
(handle_one_xevent): Fix coding style.
* src/xterm.h: Update prototypes.
Diffstat (limited to 'src/xterm.h')
| -rw-r--r-- | src/xterm.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/xterm.h b/src/xterm.h index 2967d105ea2..537cabc9577 100644 --- a/src/xterm.h +++ b/src/xterm.h | |||
| @@ -1695,8 +1695,12 @@ extern void x_xr_apply_ext_clip (struct frame *, GC); | |||
| 1695 | extern void x_xr_reset_ext_clip (struct frame *); | 1695 | extern void x_xr_reset_ext_clip (struct frame *); |
| 1696 | #endif | 1696 | #endif |
| 1697 | 1697 | ||
| 1698 | extern void x_translate_coordinates (struct frame *, int, int, int *, int *); | ||
| 1698 | extern void x_translate_coordinates_to_root (struct frame *, int, int, | 1699 | extern void x_translate_coordinates_to_root (struct frame *, int, int, |
| 1699 | int *, int *); | 1700 | int *, int *); |
| 1701 | extern Lisp_Object x_handle_translate_coordinates (struct frame *, Lisp_Object, | ||
| 1702 | int, int); | ||
| 1703 | |||
| 1700 | extern Bool x_query_pointer (Display *, Window, Window *, Window *, int *, | 1704 | extern Bool x_query_pointer (Display *, Window, Window *, Window *, int *, |
| 1701 | int *, int *, int *, unsigned int *); | 1705 | int *, int *, int *, unsigned int *); |
| 1702 | 1706 | ||