Wayland: Fix fallback decoration scroll events

The fallback decorations would emit scroll events as if scrolling had
occurred over the content area of the window.
This commit is contained in:
Camilla Löwy
2025-07-18 16:35:57 +02:00
parent 645a35a38e
commit 161fb1b6f6
2 changed files with 9 additions and 5 deletions

View File

@@ -1636,11 +1636,14 @@ static void pointerHandleAxis(void* userData,
if (!window)
return;
// NOTE: 10 units of motion per mouse wheel step seems to be a common ratio
if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL)
_glfwInputScroll(window, -wl_fixed_to_double(value) / 10.0, 0.0);
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
_glfwInputScroll(window, 0.0, -wl_fixed_to_double(value) / 10.0);
if (window->wl.hovered)
{
// NOTE: 10 units of motion per mouse wheel step seems to be a common ratio
if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL)
_glfwInputScroll(window, -wl_fixed_to_double(value) / 10.0, 0.0);
else if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL)
_glfwInputScroll(window, 0.0, -wl_fixed_to_double(value) / 10.0);
}
}
static const struct wl_pointer_listener pointerListener =