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:
Kristian Høgsberg
2012-08-13 18:14:15 -04:00
parent 6cef009272
commit d3800e4788
+2 -5
View File
@@ -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 = {