e_comp_wl: e_client refers a wl_buffer
authorBoram Park <boram1288.park@samsung.com>
Wed, 13 Jan 2016 00:50:58 +0000 (09:50 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Thu, 21 Jan 2016 07:20:11 +0000 (16:20 +0900)
   Temporary we can't remove a wl_buffer reference from e_client
   because there is an error in waylandsink.

Change-Id: I1695f8e1fc5a19c8a85baa148548e69cc1c9050a

src/bin/e_comp_wl.c

index 6dadb2e3dbe795b9da7ffcf66e93d526137e7ce6..267fd8bd2429a910cc47f64ac647fe5d54f4d266 100644 (file)
@@ -3379,6 +3379,8 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client *ec)
 
    _e_comp_wl_surface_state_finish(&ec->comp_data->pending);
 
+   e_comp_wl_buffer_reference(&ec->comp_data->buffer_ref, NULL);
+
    EINA_LIST_FREE(ec->comp_data->frames, cb)
      wl_resource_destroy(cb);
 
@@ -4211,6 +4213,8 @@ e_comp_wl_surface_attach(E_Client *ec, E_Comp_Wl_Buffer *buffer)
    ev = E_NEW(E_Event_Client, 1);
    if (!ev) return;
 
+   e_comp_wl_buffer_reference(&ec->comp_data->buffer_ref, buffer);
+
    /* set usable early because shell module checks this */
    e_pixmap_usable_set(ec->pixmap, (buffer != NULL));
    e_pixmap_resource_set(ec->pixmap, buffer);