Apparently it is the case. Please test/apply.
Thanks Michal
=== modified file 'video/fb/video_fb.c' --- video/fb/video_fb.c 2010-02-03 00:24:07 +0000 +++ video/fb/video_fb.c 2010-02-16 23:44:09 +0000 @@ -985,6 +985,13 @@ grub_video_fb_scroll (grub_video_color_t linedelta = target.mode_info->pitch - width * target.mode_info->bytes_per_pixel; linelen = width * target.mode_info->bytes_per_pixel; + if (dy > 0 || (dy == 0 && dx > 0)) + { + src_x += width - 1; + dst_x += width - 1; + src_y += height - 1; + dst_y += height - 1; + } #define DO_SCROLL \ /* Check vertical direction of the move. */ \ if (dy < 0 || (dy == 0 && dx < 0)) \ @@ -1006,11 +1013,9 @@ grub_video_fb_scroll (grub_video_color_t { \ /* 3b. Move data downwards. */ \ dst = (void *) grub_video_fb_get_video_ptr (&target, \ - dst_x + width - 1, \ - dst_y + height - 1); \ + dst_x, dst_y); \ src = (void *) grub_video_fb_get_video_ptr (&target, \ - src_x + width - 1, \ - src_y + height - 1); \ + src_x, src_y); \ for (j = 0; j < height; j++) \ { \ for (i = 0; i < linelen; i++) \
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel