diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index bea451271..0fb8d7a62 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -719,9 +719,8 @@ _e_comp_wl_buffer_cb_destroy(struct wl_listener *listener, void *data EINA_UNUSE E_Comp_Wl_Buffer *buffer; buffer = container_of(listener, E_Comp_Wl_Buffer, destroy_listener); -fprintf(stderr, "EMIT SIGNAL FOR %p\n", buffer); wl_signal_emit(&buffer->destroy_signal, buffer); -// free(buffer); + free(buffer); } static void @@ -943,7 +942,6 @@ _e_comp_wl_surface_state_cb_buffer_destroy(struct wl_listener *listener, void *d state = container_of(listener, E_Comp_Wl_Surface_State, buffer_destroy_listener); state->buffer = NULL; - state->buffer_destroy_listener.notify = NULL; } static void @@ -951,9 +949,8 @@ _e_comp_wl_surface_state_init(E_Comp_Wl_Surface_State *state, int w, int h) { state->new_attach = EINA_FALSE; state->buffer = NULL; - state->buffer_destroy_listener.notify = NULL; -// state->buffer_destroy_listener.notify = -// _e_comp_wl_surface_state_cb_buffer_destroy; + state->buffer_destroy_listener.notify = + _e_comp_wl_surface_state_cb_buffer_destroy; state->sx = state->sy = 0; state->input = eina_tiler_new(w, h); @@ -987,27 +984,20 @@ _e_comp_wl_surface_state_finish(E_Comp_Wl_Surface_State *state) if (state->input) eina_tiler_free(state->input); state->input = NULL; - if (state->buffer_destroy_listener.notify) wl_list_remove(&state->buffer_destroy_listener.link); + if (state->buffer) wl_list_remove(&state->buffer_destroy_listener.link); state->buffer = NULL; - state->buffer_destroy_listener.notify = NULL; } static void _e_comp_wl_surface_state_buffer_set(E_Comp_Wl_Surface_State *state, E_Comp_Wl_Buffer *buffer) { if (state->buffer == buffer) return; - if (state->buffer_destroy_listener.notify) { -fprintf(stderr, "REMOVE SIGNAL: BUFFER %p HANDLER %p\n", state->buffer, &state->buffer_destroy_listener); + if (state->buffer) wl_list_remove(&state->buffer_destroy_listener.link); -state->buffer_destroy_listener.notify = NULL; -} state->buffer = buffer; - if (state->buffer) { fprintf(stderr, "STATE %p ADD SIGNAL: BUFFER %p HANDLER %p\n", state, state->buffer, &state->buffer_destroy_listener); - state->buffer_destroy_listener.notify = - _e_comp_wl_surface_state_cb_buffer_destroy; -wl_list_init(&state->buffer_destroy_listener.link); + if (state->buffer) wl_signal_add(&state->buffer->destroy_signal, - &state->buffer_destroy_listener);} + &state->buffer_destroy_listener); } static void @@ -2839,7 +2829,6 @@ e_comp_wl_buffer_get(struct wl_resource *resource) buffer->shm_buffer = shmbuff; buffer->resource = resource; -fprintf(stderr, "INIT SIGNAL FOR %p\n", buffer); wl_signal_init(&buffer->destroy_signal); buffer->destroy_listener.notify = _e_comp_wl_buffer_cb_destroy; wl_resource_add_destroy_listener(resource, &buffer->destroy_listener); diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 908932903..2bd94a77f 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -64,7 +64,6 @@ _e_pixmap_cb_deferred_buffer_destroy(struct wl_listener *listener, void *data EI E_Comp_Wl_Buffer *buffer; buffer = container_of(listener, E_Comp_Wl_Buffer, deferred_destroy_listener); -fprintf(stderr, "DEFERRED DESTROY: %p\n", buffer); buffer->discarding_pixmap->free_buffers = eina_list_remove(buffer->discarding_pixmap->free_buffers, buffer); buffer->discarding_pixmap = NULL; } @@ -75,7 +74,6 @@ _e_pixmap_cb_buffer_destroy(struct wl_listener *listener, void *data EINA_UNUSED E_Pixmap *cp; cp = container_of(listener, E_Pixmap, buffer_destroy_listener); -fprintf(stderr, "BUFFER DESTROY: %p\n", cp->buffer); cp->buffer = NULL; cp->buffer_destroy_listener.notify = NULL; } @@ -86,7 +84,6 @@ _e_pixmap_cb_held_buffer_destroy(struct wl_listener *listener, void *data EINA_U E_Pixmap *cp; cp = container_of(listener, E_Pixmap, held_buffer_destroy_listener); -fprintf(stderr, "HELD BUFFER DESTROY: %p\n", cp->held_buffer); cp->held_buffer = NULL; cp->held_buffer_destroy_listener.notify = NULL; } @@ -139,9 +136,7 @@ _e_pixmap_wayland_buffer_release(E_Pixmap *cp, E_Comp_Wl_Buffer *buffer) if (buffer->discarding_pixmap) return; buffer->discarding_pixmap = cp; -if (buffer->deferred_destroy_listener.notify) fprintf(stderr, "EXPLODE\n"); buffer->deferred_destroy_listener.notify = _e_pixmap_cb_deferred_buffer_destroy; -fprintf(stderr, "DEFERRED: BUFFER %p LISTENER %p\n", buffer, &buffer->deferred_destroy_listener); wl_signal_add(&buffer->destroy_signal, &buffer->deferred_destroy_listener); cp->free_buffers = eina_list_append(cp->free_buffers, buffer); return; @@ -182,7 +177,6 @@ _e_pixmap_wayland_image_clear(E_Pixmap *cp) _e_pixmap_wayland_buffer_release(cp, cp->held_buffer); if (cp->held_buffer_destroy_listener.notify) { -fprintf(stderr, "HELD--: BUFFER %p LISTENER %p\n", cp->held_buffer, &cp->held_buffer_destroy_listener); wl_list_remove(&cp->held_buffer_destroy_listener.link); cp->held_buffer_destroy_listener.notify = NULL; } @@ -651,14 +645,12 @@ e_pixmap_resource_set(E_Pixmap *cp, void *resource) } if (cp->buffer_destroy_listener.notify) { -fprintf(stderr, "SMOKING GUN--: BUFFER %p HANDLER %p\n", cp->buffer, &cp->buffer_destroy_listener); wl_list_remove(&cp->buffer_destroy_listener.link); cp->buffer_destroy_listener.notify = NULL; } cp->buffer = resource; if (!cp->buffer) return; cp->buffer_destroy_listener.notify = _e_pixmap_cb_buffer_destroy; -fprintf(stderr, "SMOKING GUN: BUFFER %p HANDLER %p\n", cp->buffer, &cp->buffer_destroy_listener); wl_signal_add(&cp->buffer->destroy_signal, &cp->buffer_destroy_listener); @@ -821,7 +813,6 @@ e_pixmap_image_refresh(E_Pixmap *cp) cp->data = wl_shm_buffer_get_data(cp->buffer->shm_buffer); cp->held_buffer_destroy_listener.notify = _e_pixmap_cb_held_buffer_destroy; -fprintf(stderr, "HELD: BUFFER %p LISTENER %p\n", cp->held_buffer, &cp->held_buffer_destroy_listener); wl_signal_add(&cp->held_buffer->destroy_signal, &cp->held_buffer_destroy_listener); return EINA_TRUE;