diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 47ff0bdcf..a9db71f32 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -728,16 +728,6 @@ _e_comp_wl_evas_cb_color_set(void *data, Evas_Object *obj, void *event EINA_UNUS ec->netwm.opacity_changed = EINA_TRUE; } -static void -_e_comp_wl_buffer_reference_cb_destroy(struct wl_listener *listener, void *data) -{ - E_Comp_Wl_Buffer_Ref *ref; - - ref = container_of(listener, E_Comp_Wl_Buffer_Ref, destroy_listener); - if ((E_Comp_Wl_Buffer *)data != ref->buffer) return; - ref->buffer = NULL; -} - static void _e_comp_wl_buffer_cb_destroy(struct wl_listener *listener, void *data EINA_UNUSED) { @@ -1984,7 +1974,6 @@ _e_comp_wl_subsurface_create(E_Client *ec, E_Client *epc, uint32_t id, struct wl _e_comp_wl_surface_state_init(&sdata->cached, ec->w, ec->h); /* set subsurface data properties */ - sdata->cached_buffer_ref.buffer = NULL; sdata->resource = res; sdata->synchronized = EINA_TRUE; sdata->parent = epc; @@ -2695,30 +2684,6 @@ e_comp_wl_subsurface_commit(E_Client *ec) return EINA_TRUE; } -EINTERN void -e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer) -{ - if ((ref->buffer) && (buffer != ref->buffer)) - { - ref->buffer->busy--; - if (ref->buffer->busy == 0) - { - if (!wl_resource_get_client(ref->buffer->resource)) return; - wl_resource_queue_event(ref->buffer->resource, WL_BUFFER_RELEASE); - } - wl_list_remove(&ref->destroy_listener.link); - } - - if ((buffer) && (buffer != ref->buffer)) - { - buffer->busy++; - wl_signal_add(&buffer->destroy_signal, &ref->destroy_listener); - } - - ref->buffer = buffer; - ref->destroy_listener.notify = _e_comp_wl_buffer_reference_cb_destroy; -} - /** * Get the buffer for a given resource. * diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h index d60bb63a3..e7df72ac9 100644 --- a/src/bin/e_comp_wl.h +++ b/src/bin/e_comp_wl.h @@ -43,7 +43,6 @@ }) typedef struct _E_Comp_Wl_Buffer E_Comp_Wl_Buffer; -typedef struct _E_Comp_Wl_Buffer_Ref E_Comp_Wl_Buffer_Ref; typedef struct _E_Comp_Wl_Subsurf_Data E_Comp_Wl_Subsurf_Data; typedef struct _E_Comp_Wl_Surface_State E_Comp_Wl_Surface_State; typedef struct _E_Comp_Wl_Client_Data E_Comp_Wl_Client_Data; @@ -64,12 +63,6 @@ struct _E_Comp_Wl_Buffer uint32_t busy; }; -struct _E_Comp_Wl_Buffer_Ref -{ - E_Comp_Wl_Buffer *buffer; - struct wl_listener destroy_listener; -}; - struct _E_Comp_Wl_Surface_State { int sx, sy; @@ -95,7 +88,6 @@ struct _E_Comp_Wl_Subsurf_Data } position; E_Comp_Wl_Surface_State cached; - E_Comp_Wl_Buffer_Ref cached_buffer_ref; Eina_Bool synchronized; }; @@ -287,7 +279,6 @@ struct _E_Comp_Wl_Client_Data E_Shell_Data *data; } shell; - E_Comp_Wl_Buffer_Ref buffer_ref; E_Comp_Wl_Surface_State pending; Eina_List *frames; @@ -336,7 +327,6 @@ EINTERN struct wl_resource *e_comp_wl_surface_create(struct wl_client *client, i EINTERN void e_comp_wl_surface_destroy(struct wl_resource *resource); EINTERN Eina_Bool e_comp_wl_surface_commit(E_Client *ec); EINTERN Eina_Bool e_comp_wl_subsurface_commit(E_Client *ec); -EINTERN void e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer); E_API E_Comp_Wl_Buffer *e_comp_wl_buffer_get(struct wl_resource *resource); E_API struct wl_signal e_comp_wl_surface_create_signal_get(void);