summaryrefslogtreecommitdiff
path: root/src/xterm.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-05-30 14:04:43 +0800
committerPo Lu <luangruo@yahoo.com>2022-05-30 14:05:30 +0800
commitfd510f12392fcb2bf34eb08262ddda20d8a3c221 (patch)
treebd293cd92a1338e9aab3b80d23e26127485f8cce /src/xterm.h
parent52d41f2750c0f66d7f7ba8e198832734fe750fa5 (diff)
downloademacs-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.h5
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 *);