compositor: Don't destroy sprite surface, just hide it

This commit is contained in:
Kristian Høgsberg 2012-02-08 16:33:57 -05:00
parent 0212723185
commit aded1f6823
1 changed files with 6 additions and 9 deletions

View File

@ -1668,19 +1668,16 @@ input_device_attach(struct wl_client *client,
if (device->sprite)
weston_surface_damage_below(device->sprite);
if (!buffer_resource) {
if (device->sprite) {
destroy_surface(&device->sprite->surface.resource);
device->sprite = NULL;
}
if (!buffer_resource && device->sprite->output) {
wl_list_remove(&device->sprite->link);
device->sprite->visual = WESTON_NONE_VISUAL;
device->sprite->output = NULL;
return;
}
if (!device->sprite) {
device->sprite = weston_surface_create(compositor);
if (!device->sprite->output)
wl_list_insert(&compositor->surface_list,
&device->sprite->link);
}
buffer = buffer_resource->data;
device->hotspot_x = x;
@ -1725,7 +1722,7 @@ weston_input_device_init(struct weston_input_device *device,
wl_display_add_global(ec->wl_display, &wl_input_device_interface,
device, bind_input_device);
device->sprite = NULL;
device->sprite = weston_surface_create(ec);
device->compositor = ec;
device->hotspot_x = 16;