e_comp_wl: Remove redundant destroy_listener_usuable 81/295981/1
authorSeunghun Lee <shiin.lee@samsung.com>
Mon, 20 Mar 2023 00:46:32 +0000 (09:46 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 18 Jul 2023 04:40:27 +0000 (13:40 +0900)
The flag destroy_listener_usuable isn't necessary if we deal with the
destroy_listener properly.

Change-Id: Id7ce1ab7b6b33008d24688060c0da0a5780bed3e

src/bin/e_comp_wl.h
src/bin/e_comp_wl_buffer.c

index 2f0531b..98328ca 100644 (file)
@@ -136,7 +136,6 @@ struct _E_Comp_Wl_Buffer_Ref
 {
    E_Comp_Wl_Buffer *buffer;
    struct wl_listener destroy_listener;
-   Eina_Bool          destroy_listener_usable;
 };
 
 struct _E_Comp_Wl_Buffer_Viewport {
index da89341..2e1ab86 100644 (file)
@@ -15,13 +15,8 @@ e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer)
 
    if (ref->buffer)
      {
+        wl_list_remove(&ref->destroy_listener.link);
         _e_comp_wl_buffer_unref(ref->buffer);
-
-        if (ref->destroy_listener_usable)
-          {
-             wl_list_remove(&ref->destroy_listener.link);
-             ref->destroy_listener_usable = EINA_FALSE;
-          }
      }
 
    if (buffer)
@@ -30,8 +25,6 @@ e_comp_wl_buffer_reference(E_Comp_Wl_Buffer_Ref *ref, E_Comp_Wl_Buffer *buffer)
 
         ref->destroy_listener.notify = _e_comp_wl_buffer_reference_cb_destroy;
         wl_signal_add(&buffer->destroy_signal, &ref->destroy_listener);
-
-        ref->destroy_listener_usable = EINA_TRUE;
      }
 
    ref->buffer = buffer;
@@ -184,9 +177,8 @@ _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;
+   wl_list_remove(&ref->destroy_listener.link);
    ref->buffer = NULL;
-   ref->destroy_listener_usable = EINA_FALSE;
 }
 
 static void