+2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
+ (dirty_region_add_real): ... this.
+ (dirty_region_add): Don't discard margin refresh when performing
+ scheduled repaint.
+
2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/lib/relocator.c (allocate_regstart)
}
static void
-dirty_region_add (int x, int y, unsigned int width, unsigned int height)
+dirty_region_add_real (int x, int y, unsigned int width, unsigned int height)
{
- if ((width == 0) || (height == 0))
- return;
-
- if (repaint_scheduled)
- {
- x = virtual_screen.offset_x;
- y = virtual_screen.offset_y;
- width = virtual_screen.width;
- height = virtual_screen.height;
- repaint_scheduled = 0;
- repaint_was_scheduled = 1;
- }
-
if (dirty_region_is_empty ())
{
dirty_region.top_left_x = x;
}
}
+static void
+dirty_region_add (int x, int y, unsigned int width, unsigned int height)
+{
+ if ((width == 0) || (height == 0))
+ return;
+
+ if (repaint_scheduled)
+ {
+ dirty_region_add_real (virtual_screen.offset_x, virtual_screen.offset_y,
+ virtual_screen.width, virtual_screen.height);
+ repaint_scheduled = 0;
+ repaint_was_scheduled = 1;
+ }
+ dirty_region_add_real (x, y, width, height);
+}
+
static void
dirty_region_add_virtualscreen (void)
{