By grabbing the input already on button down, we leave the button in
that state for the host GUI. Thus it takes another click after releasing
the input again to synchronize the mouse button state.

Avoid this by grabbing on button up.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---
 ui/sdl.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/ui/sdl.c b/ui/sdl.c
index 0d3a889..73e5839 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -802,8 +802,7 @@ static void handle_mousebutton(DisplayState *ds, SDL_Event 
*ev)
 
     bev = &ev->button;
     if (!gui_grab && !kbd_mouse_is_absolute()) {
-        if (ev->type == SDL_MOUSEBUTTONDOWN &&
-            (bev->button == SDL_BUTTON_LEFT)) {
+        if (ev->type == SDL_MOUSEBUTTONUP && bev->button == SDL_BUTTON_LEFT) {
             /* start grabbing all events */
             sdl_grab_start();
         }
-- 
1.7.3.4


Reply via email to