E_Comp_Wl_Buffer *comp_wl_buffer;
tbm_surface_h tsurface =NULL;
E_Client *ec = NULL;
+ Eina_Bool new_buffer = EINA_FALSE;
if (hwc_window->is_deleted) return EINA_FALSE;
recover_buffer = e_comp_wl_tbm_buffer_get(tsurface);
EINA_SAFETY_ON_NULL_RETURN_VAL(recover_buffer, EINA_FALSE);
+ new_buffer = EINA_TRUE;
}
else
recover_buffer = comp_wl_buffer;
/* force update */
if (ec->comp_data)
e_comp_wl_surface_attach(ec, recover_buffer);
+ else
+ {
+ /* to avoid resource leak */
+ if (new_buffer)
+ e_comp_wl_tbm_buffer_destroy(recover_buffer);
+ }
e_hwc_window_buffer_fetch(hwc_window);