* 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.
This commit is contained in:
parent
a1dc717c58
commit
ed5587afea
2 changed files with 24 additions and 14 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
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>
|
2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/lib/relocator.c (allocate_regstart)
|
* grub-core/lib/relocator.c (allocate_regstart)
|
||||||
|
|
|
@ -532,21 +532,8 @@ dirty_region_is_empty (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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 ())
|
if (dirty_region_is_empty ())
|
||||||
{
|
{
|
||||||
dirty_region.top_left_x = x;
|
dirty_region.top_left_x = x;
|
||||||
|
@ -567,6 +554,22 @@ dirty_region_add (int x, int y, unsigned int width, unsigned int height)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
static void
|
||||||
dirty_region_add_virtualscreen (void)
|
dirty_region_add_virtualscreen (void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue