From 17c5c539104b49983b3aaab583b046368af17e06 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Thu, 30 Dec 2021 19:04:10 +0100 Subject: [PATCH] Wayland: Use correct action on fallback decoration We were previously storing the pointer position only when on the main window, so when the user clicked on a fallback decoration it would use the last position of the cursor on the main window, instead of the position in the decoration surface. Fixes part of #1991. (cherry picked from commit 855d338a6596cef6b88b298ad00b6f2658019877) --- src/wl_init.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wl_init.c b/src/wl_init.c index ed8ea80e..e7e9000b 100644 --- a/src/wl_init.c +++ b/src/wl_init.c @@ -193,12 +193,12 @@ static void pointerHandleMotion(void* data, return; x = wl_fixed_to_double(sx); y = wl_fixed_to_double(sy); + window->wl.cursorPosX = x; + window->wl.cursorPosY = y; switch (window->wl.decorations.focus) { case mainWindow: - window->wl.cursorPosX = x; - window->wl.cursorPosY = y; _glfwInputCursorPos(window, x, y); _glfw.wl.cursorPreviousName = NULL; return; @@ -298,6 +298,7 @@ static void pointerHandleButton(void* data, else wl_shell_surface_resize(window->wl.shellSurface, _glfw.wl.seat, serial, edges); + return; } } else if (button == BTN_RIGHT)