diff options
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/window.c | 16 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index a363ce331fa..93d84b26b9c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-12-31 Martin Rudalics <rudalics@gmx.at> + + * window.c (grow_mini_window): Fix last change. + 2013-12-31 Jan Djärv <jan.h.d@swipnet.se> * nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421). diff --git a/src/window.c b/src/window.c index 1e3d70fd88d..de1e2d2c068 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? */ |