output: delete all resource when called 'pepper_efl_output_destroy'. 01/69101/1 accepted/tizen/common/20160512.144102 accepted/tizen/ivi/20160513.004314 accepted/tizen/mobile/20160513.004224 accepted/tizen/tv/20160513.004256 accepted/tizen/wearable/20160513.004211 submit/tizen/20160512.051703
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 11 May 2016 13:19:55 +0000 (22:19 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Wed, 11 May 2016 13:19:55 +0000 (22:19 +0900)
Change-Id: I393f8e0bde8eb71bb86dee14f5be8d330bf6f22d

src/lib/output.c

index d94dd666ebf25a05aa5eff4d6a85cdaa086839a5..7129ec533de6c448e54da216355fa6d4b335a8cc 100644 (file)
@@ -4,16 +4,9 @@
 #include <pepper-output-backend.h>
 
 static void
-_pepper_efl_output_destroy(void *o)
+_pepper_efl_output_destroy(void *o EINA_UNUSED)
 {
-   pepper_efl_output_t *output = o;
-   pepper_efl_comp_t *comp = output->comp;
-
    DBG("callback output");
-
-   PE_FREE_FUNC(output->primary_plane, pepper_plane_destroy);
-   eina_hash_del_by_data(comp->output_hash, output);
-   free(output);
 }
 
 static int32_t
@@ -257,6 +250,9 @@ err:
 void
 pepper_efl_output_destroy(pepper_efl_output_t *output)
 {
+   evas_object_event_callback_del_full(output->win, EVAS_CALLBACK_RESIZE, _pepper_efl_output_cb_window_resize, output);
+   evas_event_callback_del_full(evas_object_evas_get(output->win), EVAS_CALLBACK_RENDER_POST, _pepper_efl_output_cb_render_post, output);
+   PE_FREE_FUNC(output->primary_plane, pepper_plane_destroy);
    pepper_output_destroy(output->base);
    free(output);
 }