Unbind the window when an instance is terminated 27/155927/1
authorJunghoon Park <jh9216.park@samsung.com>
Mon, 16 Oct 2017 11:44:58 +0000 (20:44 +0900)
committerJunghoon Park <jh9216.park@samsung.com>
Mon, 16 Oct 2017 11:44:58 +0000 (20:44 +0900)
Change-Id: I717a87cf07e8c655eac85fcac20a4668eaa75939
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
include/appcore_multiwindow_base.h
src/multiwindow_base/appcore_multiwindow_base_class.c
src/multiwindow_base/appcore_multiwindow_base_window.c

index 7840fd1..2c167cd 100644 (file)
@@ -67,6 +67,7 @@ void appcore_multiwindow_base_window_on_lower(int type, void *event);
 void appcore_multiwindow_base_window_on_visibility(int type, void *event);
 void appcore_multiwindow_base_window_on_pre_visibility(int type, void *event);
 void appcore_multiwindow_base_window_bind(appcore_multiwindow_base_instance_h h, Ecore_Wl_Window *wl_win);
+void appcore_multiwindow_base_window_unbind(appcore_multiwindow_base_instance_h h);
 
 appcore_multiwindow_base_class appcore_multiwindow_base_class_get_default(void);
 void appcore_multiwindow_base_class_add(appcore_multiwindow_base_class cls);
index 41a4742..475de69 100644 (file)
@@ -88,6 +88,7 @@ EXPORT_API void appcore_multiwindow_base_class_on_create(appcore_multiwindow_bas
 
 EXPORT_API void appcore_multiwindow_base_class_on_terminate(appcore_multiwindow_base_instance_h context)
 {
+       appcore_multiwindow_base_window_unbind(context);
 }
 
 EXPORT_API void appcore_multiwindow_base_class_on_pause(appcore_multiwindow_base_instance_h context)
index 06c7784..cb2061c 100644 (file)
@@ -159,3 +159,16 @@ EXPORT_API void appcore_multiwindow_base_window_bind(appcore_multiwindow_base_in
        cxt->inst = h;
        __win_contexts = g_list_append(__win_contexts, cxt);
 }
+
+EXPORT_API void appcore_multiwindow_base_window_unbind(appcore_multiwindow_base_instance_h h)
+{
+       win_context *cxt;
+
+       cxt = __find_win_context(h);
+       if (!cxt)
+               return;
+
+       __win_contexts = g_list_remove(__win_contexts, cxt);
+       free(cxt);
+}
+