Remove wl_list before free a destroy listener 00/78600/2 accepted/tizen/common/20160706.142447 accepted/tizen/ivi/20160706.083238 accepted/tizen/mobile/20160706.083227 accepted/tizen/tv/20160706.083157 accepted/tizen/wearable/20160706.083256 submit/tizen/20160706.075652
authorJengHyun Kang <jhyuni.kang@samsung.com>
Wed, 6 Jul 2016 07:44:38 +0000 (16:44 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Wed, 6 Jul 2016 07:57:22 +0000 (00:57 -0700)
Change-Id: I5af6bdfd66b2ce33bf9aaa853acb27beeaf01c20

src/e_mod_main_wl.c

index 87153b3119d03116279e0d3cd7784ceced692db3..4497326a3499f3e780bf3ce0b32e10759d955b8a 100644 (file)
@@ -1176,8 +1176,8 @@ _e_keyrouter_wl_client_cb_destroy(struct wl_listener *l, void *data)
    KLDBG("Listener(%p) called: wl_client: %p is died\n", l, client);
    e_keyrouter_remove_client_from_list(NULL, client);
 
+   wl_list_remove(&l->link);
    E_FREE(l);
-   l = NULL;
 
    krt->grab_client_list = eina_list_remove(krt->grab_client_list, client);
 }
@@ -1190,8 +1190,8 @@ _e_keyrouter_wl_surface_cb_destroy(struct wl_listener *l, void *data)
    KLDBG("Listener(%p) called: surface: %p is died\n", l, surface);
    e_keyrouter_remove_client_from_list(surface, NULL);
 
+   wl_list_remove(&l->link);
    E_FREE(l);
-   l = NULL;
 
    krt->grab_surface_list = eina_list_remove(krt->grab_surface_list, surface);
    krt->registered_none_key_window_list = eina_list_remove(krt->registered_none_key_window_list, surface);