diff options
author | Po Lu <luangruo@yahoo.com> | 2022-05-30 14:04:43 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-05-30 14:05:30 +0800 |
commit | fd510f12392fcb2bf34eb08262ddda20d8a3c221 (patch) | |
tree | bd293cd92a1338e9aab3b80d23e26127485f8cce /src/xterm.h | |
parent | 52d41f2750c0f66d7f7ba8e198832734fe750fa5 (diff) | |
download | emacs-fd510f12392fcb2bf34eb08262ddda20d8a3c221.tar.gz |
Fix hangs when x-get-selection is called inside a popup menu
* src/xselect.c (wait_for_property_change):
(x_get_foreign_selection): Use `x_wait_for_cell_change' if input
is blocked. (bug#22214)
* src/xterm.c (x_wait_for_cell_change): New function.
* src/xterm.h: Update prototypes.
Diffstat (limited to 'src/xterm.h')
-rw-r--r-- | src/xterm.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/xterm.h b/src/xterm.h index c8e86d5d094..d7e184ed9f1 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -1386,8 +1386,8 @@ extern const char *x_get_string_resource (void *, const char *, const char *); /* Defined in xterm.c */ -typedef void (*x_special_error_handler)(Display *, XErrorEvent *, char *, - void *); +typedef void (*x_special_error_handler) (Display *, XErrorEvent *, char *, + void *); extern bool x_text_icon (struct frame *, const char *); extern void x_catch_errors (Display *); @@ -1425,6 +1425,7 @@ extern void x_clear_area (struct frame *f, int, int, int, int); || (!defined USE_X_TOOLKIT && !defined USE_GTK) extern void x_mouse_leave (struct x_display_info *); #endif +extern void x_wait_for_cell_change (Lisp_Object, struct timespec); #ifndef USE_GTK extern int x_dispatch_event (XEvent *, Display *); |