From: Chris Michael Date: Wed, 9 Sep 2015 16:12:53 +0000 (-0400) Subject: ecore-wl2: Add API function to free a window X-Git-Tag: upstream/1.20.0~8008^2~222 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a5739c5ded39ae794804f8ccc69061129617a0e6;p=platform%2Fupstream%2Fefl.git ecore-wl2: Add API function to free a window Signed-off-by: Chris Michael --- diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index cf24f37..e059e17 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -274,6 +274,15 @@ EAPI void ecore_wl2_window_show(Ecore_Wl2_Window *window); */ EAPI void ecore_wl2_window_hide(Ecore_Wl2_Window *window); +/** + * Free a given Ecore_Wl2_Window + * + * @param window The Ecore_Wl2_Window to free + * + * @ingroup Ecore_Wl2_Window_Group + */ +EAPI void ecore_wl2_window_free(Ecore_Wl2_Window *window); + /* # ifdef __cplusplus */ /* } */ /* # endif */ diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index eb2ee8d..7f354f0 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -282,3 +282,20 @@ ecore_wl2_window_hide(Ecore_Wl2_Window *window) if (window->surface) wl_surface_destroy(window->surface); window->surface = NULL; } + +EAPI void +ecore_wl2_window_free(Ecore_Wl2_Window *window) +{ + EINA_SAFETY_ON_NULL_RETURN(window); + + /* TODO: reset input pointer and keyboard focus */ + /* TODO: delete window anim callback */ + /* TODO: destroy subsurfaces */ + + ecore_wl2_window_hide(window); + + if (window->title) eina_stringshare_del(window->title); + if (window->class) eina_stringshare_del(window->class); + + free(window); +}