mirror of https://gitee.com/openkylin/qemu.git
sdl2: Use correct sdl2_console for window events
SDL_PollEvent() polls events for all windows; therefore, sdl2_poll_events() will poll the events for all windows and not only for the one identified by the given sdl2_console. This should be considered in handle_windowevent(): The window affected by the event is not necessarily the one identified by the sdl2_console object given to sdl2_poll_events(), but the one identified by ev->window.windowID. Signed-off-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
62959ffe45
commit
1dfc5c8808
|
@ -507,8 +507,10 @@ static void handle_mousewheel(SDL_Event *ev)
|
|||
qemu_input_event_sync();
|
||||
}
|
||||
|
||||
static void handle_windowevent(struct sdl2_console *scon, SDL_Event *ev)
|
||||
static void handle_windowevent(SDL_Event *ev)
|
||||
{
|
||||
struct sdl2_console *scon = get_scon_from_window(ev->window.windowID);
|
||||
|
||||
switch (ev->window.event) {
|
||||
case SDL_WINDOWEVENT_RESIZED:
|
||||
{
|
||||
|
@ -586,7 +588,7 @@ void sdl2_poll_events(struct sdl2_console *scon)
|
|||
handle_mousewheel(ev);
|
||||
break;
|
||||
case SDL_WINDOWEVENT:
|
||||
handle_windowevent(scon, ev);
|
||||
handle_windowevent(ev);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue