From 96b0abd88a9f1d5ae9828a71cfdaad1d68afcca9 Mon Sep 17 00:00:00 2001 From: Ander Conselvan de Oliveira Date: Fri, 16 Mar 2012 17:25:10 +0200 Subject: [PATCH] compositor: allow multiple input_device_attach()'s with a nil buffer Without this change, weston would crash whenever a nil buffer was passed to input_device_attach() if the cursor sprite was not mapped. While at it, change the unmapping code to use weston_surface_unmap(). --- src/compositor.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/compositor.c b/src/compositor.c index f2ae2f64..09b14ae1 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1831,10 +1831,9 @@ input_device_attach(struct wl_client *client, if (device->input_device.pointer_focus->resource.client != client) return; - if (!buffer_resource && device->sprite->output) { - wl_list_remove(&device->sprite->link); - wl_list_remove(&device->sprite->layer_link); - device->sprite->output = NULL; + if (!buffer_resource) { + if (device->sprite->output) + weston_surface_unmap(device->sprite); return; }