compositor: Don't try and use a NULL sprite for the device pointer
[profile/ivi/weston.git] / compositor / compositor.c
index d2e8ce7..e0d7b32 100644 (file)
@@ -208,6 +208,7 @@ surface_handle_buffer_destroy(struct wl_listener *listener,
                                               buffer_destroy_listener);
        struct wl_buffer *buffer = (struct wl_buffer *) resource;
 
+       wl_list_init(&es->buffer_destroy_listener.link);
        if (es->buffer == buffer)
                es->buffer = NULL;
 }
@@ -256,6 +257,7 @@ wlsc_surface_create(struct wlsc_compositor *compositor,
        surface->width = width;
        surface->height = height;
 
+       surface->fullscreen_output = NULL;
        surface->buffer = NULL;
        surface->output = NULL;
 
@@ -1158,6 +1160,9 @@ static void
 wlsc_input_device_attach_sprite(struct wlsc_input_device *device,
                                struct wlsc_sprite *sprite, int x, int y)
 {
+       if (!sprite)
+               return;
+
        wlsc_sprite_attach(sprite, &device->sprite->surface);
        wlsc_input_device_attach(device, x, y, sprite->width, sprite->height);
 }