aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm <[email protected]>2005-01-23 00:50:24 +0000
committerKim F. Storm <[email protected]>2005-01-23 00:50:24 +0000
commitbed83ee4dd0caeb301232cf56dcc8e7f62406bba (patch)
treeabd85daafbb9e83cdb022daa691b2a4210b71dc2 /src
parente1c7e69af9ed3532f78ad5716ea30a7f3d9aea77 (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.c12
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);