From 76233917c47e7d4ed1d283b09ec67a8dbd6cdf4b Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 7 May 2022 09:34:35 +0800 Subject: Fix freezes with some oddball menus * src/xmenu.c (x_activate_menubar): Clear flag if dispatching the event failed. * src/xterm.c (handle_one_xevent): Check for sensitive CascadeButton instead of row column type. --- src/xmenu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/xmenu.c') diff --git a/src/xmenu.c b/src/xmenu.c index 4c8828412d3..aaf53569a72 100644 --- a/src/xmenu.c +++ b/src/xmenu.c @@ -677,7 +677,10 @@ x_activate_menubar (struct frame *f) } } #endif - XtDispatchEvent (f->output_data.x->saved_menu_event); + /* The cascade button might have been deleted, so don't activate the + popup if it no widget was found to dispatch to. */ + popup_activated_flag + = XtDispatchEvent (f->output_data.x->saved_menu_event); #endif unblock_input (); -- cgit v1.2.3