From: Eli Zaretskii Date: Mon, 15 Apr 2024 13:50:59 +0000 (+0300) Subject: Fix resetting the frame's 'frozen_window_starts' flag X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4c039b827b2578a554f0380a6c6e86c25f47aa1a;p=emacs.git Fix resetting the frame's 'frozen_window_starts' flag * src/window.c (grow_mini_window, shrink_mini_window): Reimplement how the frame's 'frozen_window_starts' flag is set and reset, to make sure it is always reset when the mini-window gets to its normal one-line height. Patch by Martin Rudalics (Bug#70038) (cherry picked from commit 9b755244bf0b9cd5f820ae45a4db14913a587c7b) --- diff --git a/src/window.c b/src/window.c index fe26311fbb2..6c0fce4119f 100644 --- a/src/window.c +++ b/src/window.c @@ -5376,7 +5376,6 @@ grow_mini_window (struct window *w, int delta) struct window *r = XWINDOW (root); Lisp_Object grow; - FRAME_WINDOWS_FROZEN (f) = true; grow = call3 (Qwindow__resize_root_window_vertically, root, make_fixnum (- delta), Qt); @@ -5390,6 +5389,8 @@ grow_mini_window (struct window *w, int delta) && window_resize_check (r, false)) resize_mini_window_apply (w, -XFIXNUM (grow)); } + FRAME_WINDOWS_FROZEN (f) + = window_body_height (w, WINDOW_BODY_IN_PIXELS) > FRAME_LINE_HEIGHT (f); } /** @@ -5413,7 +5414,6 @@ shrink_mini_window (struct window *w) struct window *r = XWINDOW (root); Lisp_Object grow; - FRAME_WINDOWS_FROZEN (f) = false; grow = call3 (Qwindow__resize_root_window_vertically, root, make_fixnum (delta), Qt); @@ -5425,6 +5425,8 @@ shrink_mini_window (struct window *w) bar. */ grow_mini_window (w, -delta); + FRAME_WINDOWS_FROZEN (f) + = window_body_height (w, WINDOW_BODY_IN_PIXELS) > FRAME_LINE_HEIGHT (f); } DEFUN ("resize-mini-window-internal", Fresize_mini_window_internal,