ui/sdl2: start in full screen with grab enabled
QEMU with SDL 1.2 display used to enable keyboard and mouse grab- bing when started in full screen. The SDL 2.0 code tries to do the same but fails to enable grabbing because sdl_grab_start(0) returns early. To do it's work the sdl_grab_start() function needs a pointer to a sdl2_console structure. Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 20200516072014.7766-7-vr_qemu@t-online.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
830473455f
commit
7dafc6793a
@ -881,17 +881,16 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o)
|
|||||||
SDL_SetWindowIcon(sdl2_console[0].real_window, icon);
|
SDL_SetWindowIcon(sdl2_console[0].real_window, icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
gui_grab = 0;
|
|
||||||
if (gui_fullscreen) {
|
|
||||||
sdl_grab_start(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
mouse_mode_notifier.notify = sdl_mouse_mode_change;
|
mouse_mode_notifier.notify = sdl_mouse_mode_change;
|
||||||
qemu_add_mouse_mode_change_notifier(&mouse_mode_notifier);
|
qemu_add_mouse_mode_change_notifier(&mouse_mode_notifier);
|
||||||
|
|
||||||
sdl_cursor_hidden = SDL_CreateCursor(&data, &data, 8, 1, 0, 0);
|
sdl_cursor_hidden = SDL_CreateCursor(&data, &data, 8, 1, 0, 0);
|
||||||
sdl_cursor_normal = SDL_GetCursor();
|
sdl_cursor_normal = SDL_GetCursor();
|
||||||
|
|
||||||
|
if (gui_fullscreen) {
|
||||||
|
sdl_grab_start(&sdl2_console[0]);
|
||||||
|
}
|
||||||
|
|
||||||
atexit(sdl_cleanup);
|
atexit(sdl_cleanup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user