From: Jan Kiszka Date: Sat, 30 Jul 2011 09:39:12 +0000 (+0200) Subject: sdl: Consistently avoid grabbing input for text consoles X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f85581004c140c09936bc63f3744a287216aa76d;p=qemu.git 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 Signed-off-by: Anthony Liguori --- diff --git a/ui/sdl.c b/ui/sdl.c index f19bae2b27..27465b2b7d 100644 --- a/ui/sdl.c +++ b/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 &&