compositor: Use pointer_cursor_surface_configure() in wl_pointer.set_cursor
This way we map the surface if it currently isn't mapped and avoid duplicating some of the code already in pointer_cursor_surface_configure(). Without this, the cursor code relied on a wl_surface.attach() to show the new pointer surface. If we're not changing the cursor buffer, we don't get that, but we still need to map the cursor.
This commit is contained in:
+2
-5
@@ -2269,15 +2269,12 @@ pointer_set_cursor(struct wl_client *client, struct wl_resource *resource,
|
||||
|
||||
surface->configure = pointer_cursor_surface_configure;
|
||||
surface->private = seat;
|
||||
empty_region(&surface->input);
|
||||
|
||||
seat->sprite = surface;
|
||||
seat->hotspot_x = x;
|
||||
seat->hotspot_y = y;
|
||||
|
||||
weston_surface_set_position(surface,
|
||||
wl_fixed_to_int(seat->seat.pointer->x) - x,
|
||||
wl_fixed_to_int(seat->seat.pointer->y) - y);
|
||||
if (surface->buffer)
|
||||
pointer_cursor_surface_configure(surface, 0, 0);
|
||||
}
|
||||
|
||||
static const struct wl_pointer_interface pointer_interface = {
|
||||
|
||||
Reference in New Issue
Block a user