Wayland: Fix key repeat continuing when refocused

If a window lost input focus while a key was held down, the key repeat
mechanism would resume once the window regained focus.

(cherry picked from commit e24fe4b189)
This commit is contained in:
Camilla Löwy 2021-12-22 14:19:55 +01:00
parent 3b806aef27
commit 9240ee5ddf
2 changed files with 4 additions and 0 deletions

View File

@ -125,6 +125,7 @@ information on what to include when reporting a bug.
- [Wayland] Bugfix: Key repeat could lead to a race condition (#1710)
- [Wayland] Bugfix: Activating a window would emit two input focus events
- [Wayland] Bugfix: Disable key repeat mechanism when window loses input focus
## Contact

View File

@ -503,6 +503,9 @@ static void keyboardHandleLeave(void* data,
_glfw.wl.serial = serial;
_glfw.wl.keyboardFocus = NULL;
_glfwInputWindowFocus(window, GLFW_FALSE);
struct itimerspec timer = {};
timerfd_settime(_glfw.wl.timerfd, 0, &timer, NULL);
}
static int toGLFWKeyCode(uint32_t key)