diff --git a/ui/sdl2.c b/ui/sdl2.c index 9a79b17b92..0f41d1fa90 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -762,6 +762,9 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) char *filename; int i; SDL_SysWMinfo info; +#if defined(SDL_VIDEO_DRIVER_WINDOWS) || defined(SDL_VIDEO_DRIVER_X11) + int window_id; +#endif if (no_frame) { gui_noframe = 1; @@ -817,9 +820,17 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) sdl2_console[i].dcl.con = con; register_displaychangelistener(&sdl2_console[i].dcl); +#if defined(SDL_VIDEO_DRIVER_WINDOWS) || defined(SDL_VIDEO_DRIVER_X11) if (SDL_GetWindowWMInfo(sdl2_console[i].real_window, &info)) { - qemu_console_set_window_id(con, info.info.x11.window); +#ifdef SDL_VIDEO_DRIVER_WINDOWS + window_id = (int)(uintptr_t) info.info.win.hwnd; +#endif +#ifdef SDL_VIDEO_DRIVER_X11 + window_id = info.info.x11.window; +#endif + qemu_console_set_window_id(con, window_id); } +#endif } /* Load a 32x32x4 image. White pixels are transparent. */