Jan Kiszka wrote:
There are scenarios on Linux with some SDL versions where
handle_activation is continuous invoked with state = SDL_APPINPUTFOCUS
and gain = 0 while we grabbed the input. This causes a ping-pong when we
grab the input after an absolute mouse entered the window.
As this sdl_grab_end was once introduced to work around a Windows-only
issue (0294ffb9c8), limit it to that platform.
CC: Erik Rull<erik.r...@rdsoftware.de>
Signed-off-by: Jan Kiszka<jan.kis...@siemens.com>
---
ui/sdl.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/ui/sdl.c b/ui/sdl.c
index 73e5839..6f8091c 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -828,10 +828,14 @@ static void handle_mousebutton(DisplayState *ds,
SDL_Event *ev)
static void handle_activation(DisplayState *ds, SDL_Event *ev)
{
+#ifdef _WIN32
+ /* Disable grab if the window no longer has the focus
+ * (Windows-only workaround) */
if (gui_grab&& ev->active.state == SDL_APPINPUTFOCUS&&
!ev->active.gain&& !gui_fullscreen) {
sdl_grab_end();
}
+#endif
if (!gui_grab&& ev->active.gain&& is_graphic_console()&&
(kbd_mouse_is_absolute() || absolute_enabled)) {
absolute_mouse_grab();
Hi Jan,
thanks for your help.
When will the patches be applied to the qemu-git?
Best regards,
Erik