From: Gwanglim Lee Date: Mon, 13 Apr 2020 02:52:15 +0000 (+0900) Subject: e_hwc_window: fixed resource leak for new tbm buffer X-Git-Tag: submit/tizen/20200413.094631~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F92%2F230592%2F1;p=platform%2Fupstream%2Fenlightenment.git e_hwc_window: fixed resource leak for new tbm buffer Change-Id: I128aac98f41158e5b574dec98b72e01d98abcf4d --- diff --git a/src/bin/e_hwc_window.c b/src/bin/e_hwc_window.c index 6262005313..5aba4a5ca4 100644 --- a/src/bin/e_hwc_window.c +++ b/src/bin/e_hwc_window.c @@ -1949,6 +1949,7 @@ _e_hwc_window_client_recover(E_Hwc_Window *hwc_window) 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; @@ -1970,6 +1971,7 @@ _e_hwc_window_client_recover(E_Hwc_Window *hwc_window) 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; @@ -1981,6 +1983,12 @@ _e_hwc_window_client_recover(E_Hwc_Window *hwc_window) /* 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);