diff options
author | Kim F. Storm <[email protected]> | 2005-01-23 00:50:24 +0000 |
---|---|---|
committer | Kim F. Storm <[email protected]> | 2005-01-23 00:50:24 +0000 |
commit | bed83ee4dd0caeb301232cf56dcc8e7f62406bba (patch) | |
tree | abd85daafbb9e83cdb022daa691b2a4210b71dc2 /src | |
parent | e1c7e69af9ed3532f78ad5716ea30a7f3d9aea77 (diff) |
(window_scroll_pixel_based): Force moving to next line
if scrolling doesn't move start point, e.g. if looking at tall image.
Diffstat (limited to 'src')
-rw-r--r-- | src/window.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c index 85376dd7b5..ef3d38c155 100644 --- a/src/window.c +++ b/src/window.c @@ -4628,8 +4628,16 @@ window_scroll_pixel_based (window, n, whole, noerror) if (dy <= 0) move_it_vertically_backward (&it, -dy); else if (dy > 0) - move_it_to (&it, ZV, -1, it.current_y + dy, -1, - MOVE_TO_POS | MOVE_TO_Y); + { + int start_pos = IT_CHARPOS (it); + move_it_to (&it, ZV, -1, it.current_y + dy, -1, + MOVE_TO_POS | MOVE_TO_Y); + /* Ensure we actually does move, e.g. in case we are currently + looking at an image that is taller that the window height. */ + while (start_pos == IT_CHARPOS (it) + && start_pos < ZV) + move_it_by_lines (&it, 1, 1); + } } else move_it_by_lines (&it, n, 1); |