sdl2: Do not hide the cursor on auxilliary windows

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Message-Id: <20171117112258.5888-2-makovick@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Jindrich Makovicka 2017-11-17 12:22:56 +01:00 committed by Gerd Hoffmann
parent abda476681
commit 2821671629
1 changed files with 17 additions and 0 deletions

View File

@ -466,6 +466,10 @@ static void handle_mousemotion(SDL_Event *ev)
int max_x, max_y; int max_x, max_y;
struct sdl2_console *scon = get_scon_from_window(ev->key.windowID); struct sdl2_console *scon = get_scon_from_window(ev->key.windowID);
if (!qemu_console_is_graphic(scon->dcl.con)) {
return;
}
if (qemu_input_is_absolute() || absolute_enabled) { if (qemu_input_is_absolute() || absolute_enabled) {
int scr_w, scr_h; int scr_w, scr_h;
SDL_GetWindowSize(scon->real_window, &scr_w, &scr_h); SDL_GetWindowSize(scon->real_window, &scr_w, &scr_h);
@ -494,6 +498,10 @@ static void handle_mousebutton(SDL_Event *ev)
SDL_MouseButtonEvent *bev; SDL_MouseButtonEvent *bev;
struct sdl2_console *scon = get_scon_from_window(ev->key.windowID); struct sdl2_console *scon = get_scon_from_window(ev->key.windowID);
if (!qemu_console_is_graphic(scon->dcl.con)) {
return;
}
bev = &ev->button; bev = &ev->button;
if (!gui_grab && !qemu_input_is_absolute()) { if (!gui_grab && !qemu_input_is_absolute()) {
if (ev->type == SDL_MOUSEBUTTONUP && bev->button == SDL_BUTTON_LEFT) { if (ev->type == SDL_MOUSEBUTTONUP && bev->button == SDL_BUTTON_LEFT) {
@ -516,6 +524,10 @@ static void handle_mousewheel(SDL_Event *ev)
SDL_MouseWheelEvent *wev = &ev->wheel; SDL_MouseWheelEvent *wev = &ev->wheel;
InputButton btn; InputButton btn;
if (!qemu_console_is_graphic(scon->dcl.con)) {
return;
}
if (wev->y > 0) { if (wev->y > 0) {
btn = INPUT_BUTTON_WHEEL_UP; btn = INPUT_BUTTON_WHEEL_UP;
} else if (wev->y < 0) { } else if (wev->y < 0) {
@ -657,6 +669,11 @@ static void sdl_mouse_warp(DisplayChangeListener *dcl,
int x, int y, int on) int x, int y, int on)
{ {
struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl); struct sdl2_console *scon = container_of(dcl, struct sdl2_console, dcl);
if (!qemu_console_is_graphic(scon->dcl.con)) {
return;
}
if (on) { if (on) {
if (!guest_cursor) { if (!guest_cursor) {
sdl_show_cursor(); sdl_show_cursor();