e_devicemgr_device: remove destroy_listener only if it exists 45/168045/1
authorSung-Jin Park <sj76.park@samsung.com>
Tue, 23 Jan 2018 23:35:19 +0000 (08:35 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 23 Jan 2018 23:48:43 +0000 (23:48 +0000)
Change-Id: Iee06ed8e129ab425083121bb0d455b54ec307069
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/e_devicemgr_device.c

index 938ed1e083887f6dff6ee974e791670d74783a6c..a05b6c9e1d5486416eb4993bb74d3faeee6fd6d8 100644 (file)
@@ -1379,12 +1379,15 @@ _e_input_devmgr_cb_deinit_generator(struct wl_client *client, struct wl_resource
 
    EINA_LIST_FOREACH_SAFE(input_devmgr_data->watched_clients, l, l_next, data)
      {
-        if (data->client == client && !data->clas)
+        if (data && data->client == client && !data->clas)
           {
              listener = wl_client_get_destroy_listener(client,
                         _e_input_devmgr_inputgen_client_cb_destroy);
-             wl_list_remove(&listener->link);
-             E_FREE(listener);
+             if (listener)
+               {
+                  wl_list_remove(&listener->link);
+                  E_FREE(listener);
+               }
 
              input_devmgr_data->watched_clients =
                 eina_list_remove_list(input_devmgr_data->watched_clients, l);