aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNoam Postavsky2018-05-03 20:54:25 -0400
committerNoam Postavsky2018-05-03 20:58:06 -0400
commitb90ce66d32ede14a9191008096e596f6dfb9a48b (patch)
treeaeed5d19776a2a56a3d84c99f46013f5b4b52e02 /src
parent79ad0b3b2d4313d85e3fa1ff1e8658637bea43e2 (diff)
downloademacs-b90ce66d32ede14a9191008096e596f6dfb9a48b.tar.gz
emacs-b90ce66d32ede14a9191008096e596f6dfb9a48b.zip
Handle selected_window change in prepare_menu_bars (Bug#31312)
* src/xdisp.c (redisplay_internal): Check selected_window after calling prepare_menu_bars, since it can call lisp hooks.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index fb6729c36aa..d6aabd06189 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13924,11 +13924,6 @@ redisplay_internal (void)
13924 /* Notice any pending interrupt request to change frame size. */ 13924 /* Notice any pending interrupt request to change frame size. */
13925 do_pending_window_change (true); 13925 do_pending_window_change (true);
13926 13926
13927 /* do_pending_window_change could change the selected_window due to
13928 frame resizing which makes the selected window too small. */
13929 if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
13930 sw = w;
13931
13932 /* Clear frames marked as garbaged. */ 13927 /* Clear frames marked as garbaged. */
13933 clear_garbaged_frames (); 13928 clear_garbaged_frames ();
13934 13929
@@ -13936,6 +13931,13 @@ redisplay_internal (void)
13936 if (NILP (Vmemory_full)) 13931 if (NILP (Vmemory_full))
13937 prepare_menu_bars (); 13932 prepare_menu_bars ();
13938 13933
13934 /* do_pending_window_change could change the selected_window due to
13935 frame resizing which makes the selected window too small.
13936 prepare_menu_bars may call lisp hooks and hence also change the
13937 selected_window. */
13938 if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
13939 sw = w;
13940
13939 reconsider_clip_changes (w); 13941 reconsider_clip_changes (w);
13940 13942
13941 /* In most cases selected window displays current buffer. */ 13943 /* In most cases selected window displays current buffer. */