summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-09-26 15:00:53 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-09-29 10:28:41 +0900
commitb9ad278737c0988cab76db4914e246a17783cbbf (patch)
treeea7ae1223f2a89bbb46077b507115ac10f5fd321
parent757c5f83d8eb37e5509bdff1f4b53b8cb4d99c82 (diff)
downloadefl-b9ad278737c0988cab76db4914e246a17783cbbf.tar.gz
win: Avoid calling same function twice on shutdown
This avoids calling: ecore_evas_callback_delete_request_set ecore_evas_callback_resize_set twice when deleting a window. Also adds safety over sd->ee.
-rw-r--r--src/lib/elementary/efl_ui_win.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index dd9f1114ca..e608e4ee6c 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2894,14 +2894,15 @@ _efl_ui_win_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Win_Data *sd)
sd->wm_rot.rots = NULL;
/* Don't let callback in the air that point to sd */
- ecore_evas_callback_delete_request_set(sd->ee, NULL);
- ecore_evas_callback_resize_set(sd->ee, NULL);
- ecore_evas_callback_mouse_in_set(sd->ee, NULL);
- ecore_evas_callback_focus_in_set(sd->ee, NULL);
- ecore_evas_callback_focus_out_set(sd->ee, NULL);
- ecore_evas_callback_move_set(sd->ee, NULL);
- ecore_evas_callback_state_change_set(sd->ee, NULL);
- ecore_evas_callback_pre_render_set(sd->ee, NULL);
+ if (sd->ee)
+ {
+ ecore_evas_callback_mouse_in_set(sd->ee, NULL);
+ ecore_evas_callback_focus_in_set(sd->ee, NULL);
+ ecore_evas_callback_focus_out_set(sd->ee, NULL);
+ ecore_evas_callback_move_set(sd->ee, NULL);
+ ecore_evas_callback_state_change_set(sd->ee, NULL);
+ ecore_evas_callback_pre_render_set(sd->ee, NULL);
+ }
efl_canvas_group_del(efl_super(obj, MY_CLASS));