From d700bd2d7cf8848ba4c7ed84a454c074a27d9bb3 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Tue, 6 Jun 2023 06:00:21 -0400 Subject: [PATCH] wlr_seat_pointer: cursor surfaces are always mapped --- types/seat/wlr_seat_pointer.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/types/seat/wlr_seat_pointer.c b/types/seat/wlr_seat_pointer.c index 686a7a03..b5eb84f7 100644 --- a/types/seat/wlr_seat_pointer.c +++ b/types/seat/wlr_seat_pointer.c @@ -70,8 +70,15 @@ struct wlr_seat_client *wlr_seat_client_from_pointer_resource( return wl_resource_get_user_data(resource); } +static void pointer_cursor_surface_handle_commit(struct wlr_surface *surface) { + if (wlr_surface_has_buffer(surface)) { + wlr_surface_map(surface); + } +} + static const struct wlr_surface_role pointer_cursor_surface_role = { .name = "wl_pointer-cursor", + .commit = pointer_cursor_surface_handle_commit, }; static void pointer_set_cursor(struct wl_client *client, @@ -91,6 +98,8 @@ static void pointer_set_cursor(struct wl_client *client, surface_resource, WL_POINTER_ERROR_ROLE)) { return; } + + pointer_cursor_surface_handle_commit(surface); } struct wlr_seat_pointer_request_set_cursor_event event = {