]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix resetting the frame's 'frozen_window_starts' flag
authorEli Zaretskii <eliz@gnu.org>
Mon, 15 Apr 2024 13:50:59 +0000 (16:50 +0300)
committerEshel Yaron <me@eshelyaron.com>
Sat, 20 Apr 2024 11:01:21 +0000 (14:01 +0300)
* 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
<rudalics@gmx.at> (Bug#70038)

(cherry picked from commit 9b755244bf0b9cd5f820ae45a4db14913a587c7b)

src/window.c

index fe26311fbb2ba833e328449ad4452cf31a875cfd..6c0fce4119fcfdd8a2e7b723307ebbede26f9f85 100644 (file)
@@ -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,