sdl: Consistently avoid grabbing input for text consoles
There were some preexisting bits that released the input when switching to text console. This patch spreads this logic consistently and also avoids grabbing the input while a text console is active. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
110defd753
commit
f85581004c
9
ui/sdl.c
9
ui/sdl.c
@ -564,8 +564,9 @@ static void toggle_full_screen(DisplayState *ds)
|
||||
} else {
|
||||
do_sdl_resize(ds_get_width(ds), ds_get_height(ds), 0);
|
||||
}
|
||||
if (!gui_saved_grab)
|
||||
if (!gui_saved_grab || !is_graphic_console()) {
|
||||
sdl_grab_end();
|
||||
}
|
||||
}
|
||||
vga_hw_invalidate();
|
||||
vga_hw_update();
|
||||
@ -689,8 +690,10 @@ static void sdl_refresh(DisplayState *ds)
|
||||
'SDL_WM_GrabInput(SDL_GRAB_ON)'
|
||||
from blocking all the application
|
||||
(SDL bug). */
|
||||
if (SDL_GetAppState() & SDL_APPACTIVE)
|
||||
if (is_graphic_console() &&
|
||||
SDL_GetAppState() & SDL_APPACTIVE) {
|
||||
sdl_grab_start();
|
||||
}
|
||||
} else {
|
||||
sdl_grab_end();
|
||||
}
|
||||
@ -721,7 +724,7 @@ static void sdl_refresh(DisplayState *ds)
|
||||
break;
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
case SDL_MOUSEBUTTONUP:
|
||||
{
|
||||
if (is_graphic_console()) {
|
||||
SDL_MouseButtonEvent *bev = &ev->button;
|
||||
if (!gui_grab && !kbd_mouse_is_absolute()) {
|
||||
if (ev->type == SDL_MOUSEBUTTONDOWN &&
|
||||
|
Loading…
Reference in New Issue
Block a user