From 91415fb1cd0f913be6e8a2409b0d9cdca4352f3f Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Tue, 31 Dec 2013 20:06:18 +0100 Subject: Fix last change of grow_mini_window. * window.c (grow_mini_window): Fix last change. --- src/ChangeLog | 4 ++++ src/window.c | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index a363ce331f..93d84b26b9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-12-31 Martin Rudalics + + * window.c (grow_mini_window): Fix last change. + 2013-12-31 Jan Djärv * nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421). diff --git a/src/window.c b/src/window.c index 1e3d70fd88..de1e2d2c06 100644 --- a/src/window.c +++ b/src/window.c @@ -4582,24 +4582,24 @@ grow_mini_window (struct window *w, int delta, bool pixelwise) if (pixelwise) { - pixel_height = max (min (-XINT (height), INT_MAX - w->pixel_height), - FRAME_LINE_HEIGHT (f)); + pixel_height = min (-XINT (height), INT_MAX - w->pixel_height); line_height = pixel_height / FRAME_LINE_HEIGHT (f); } else { - line_height = max (min (-XINT (height), - ((INT_MAX - w->pixel_height) - / FRAME_LINE_HEIGHT (f))), - 1); + line_height = min (-XINT (height), + ((INT_MAX - w->pixel_height) + / FRAME_LINE_HEIGHT (f))); pixel_height = line_height * FRAME_LINE_HEIGHT (f); } /* Grow the mini-window. */ w->pixel_top = r->pixel_top + r->pixel_height; w->top_line = r->top_line + r->total_lines; - w->pixel_height += pixel_height; - w->total_lines += line_height; + /* Make sure the mini-window has always at least one line. */ + w->pixel_height = max (w->pixel_height + pixel_height, + FRAME_LINE_HEIGHT (f)); + w->total_lines = max (w->total_lines + line_height, 1); /* Enforce full redisplay of the frame. */ /* FIXME: Shouldn't window--resize-root-window-vertically do it? */ -- cgit v1.2.3