From 2ef7618da5c9004a625b55c208bbd5cc15379b96 Mon Sep 17 00:00:00 2001 From: ninja- Date: Tue, 30 Jun 2020 19:41:54 +0200 Subject: [PATCH] wayland: properly destroy cursor surface when locking cursor avoids cursor being visible when locked --- src/wl_window.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/wl_window.c b/src/wl_window.c index 3bb7d98b6..f7e8a558a 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -354,6 +354,7 @@ static void setOpaqueRegion(_GLFWwindow* window) wl_region_add(region, 0, 0, window->wl.width, window->wl.height); wl_surface_set_opaque_region(window->wl.surface, region); + wl_surface_commit(window->wl.surface); wl_region_destroy(region); } @@ -1560,8 +1561,9 @@ static void lockPointer(_GLFWwindow* window) window->wl.pointerLock.relativePointer = relativePointer; window->wl.pointerLock.lockedPointer = lockedPointer; - wl_pointer_set_cursor(_glfw.wl.pointer, _glfw.wl.serial, - NULL, 0, 0); + wl_pointer_set_cursor(_glfw.wl.pointer, _glfw.wl.serial, NULL, 0, 0); + wl_surface_attach(_glfw.wl.cursorSurface, NULL, 0, 0); + wl_surface_commit(_glfw.wl.cursorSurface); } static GLFWbool isPointerLocked(_GLFWwindow* window)