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.
dev
Kristian Høgsberg 12 years ago
parent 6cef009272
commit d3800e4788
  1. 7
      src/compositor.c

@ -2269,15 +2269,12 @@ pointer_set_cursor(struct wl_client *client, struct wl_resource *resource,
surface->configure = pointer_cursor_surface_configure; surface->configure = pointer_cursor_surface_configure;
surface->private = seat; surface->private = seat;
empty_region(&surface->input);
seat->sprite = surface; seat->sprite = surface;
seat->hotspot_x = x; seat->hotspot_x = x;
seat->hotspot_y = y; seat->hotspot_y = y;
weston_surface_set_position(surface, if (surface->buffer)
wl_fixed_to_int(seat->seat.pointer->x) - x, pointer_cursor_surface_configure(surface, 0, 0);
wl_fixed_to_int(seat->seat.pointer->y) - y);
} }
static const struct wl_pointer_interface pointer_interface = { static const struct wl_pointer_interface pointer_interface = {

Loading…
Cancel
Save