From 625934ec0f208836c6f2dbe7bd8ad658cbdd8537 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Fri, 29 Jan 2016 15:26:58 +0100 Subject: [PATCH] menu_entry: Disable cursor during update_screen() When running grub in a VGA console of a KVM pseries guest on PowerPC, you can see the cursor sweeping over the whole line when entering a character in editor mode. This is visible because grub always refreshes the whole line when entering a character in editor mode, and drawing characters is quite a slow operation with the firmware used for the powerpc pseries guests (SLOF). To avoid this ugliness, the cursor should be disabled when refreshing the screen contents during update_screen(). Signed-off-by: Thomas Huth --- grub-core/normal/menu_entry.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c index b80d161dd..eeeee5580 100644 --- a/grub-core/normal/menu_entry.c +++ b/grub-core/normal/menu_entry.c @@ -254,6 +254,8 @@ update_screen (struct screen *screen, struct per_term_screen *term_screen, mode = ALL_LINES; } + grub_term_setcursor (term_screen->term, 0); + if (mode != NO_LINE) { /* Draw lines. This code is tricky, because this must calculate logical @@ -361,6 +363,8 @@ update_screen (struct screen *screen, struct per_term_screen *term_screen, } + grub_term_setcursor (term_screen->term, 1); + grub_term_refresh (term_screen->term); }