diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-26 15:00:53 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-29 10:28:41 +0900 |
commit | b9ad278737c0988cab76db4914e246a17783cbbf (patch) | |
tree | ea7ae1223f2a89bbb46077b507115ac10f5fd321 | |
parent | 757c5f83d8eb37e5509bdff1f4b53b8cb4d99c82 (diff) | |
download | efl-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.c | 17 |
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)); |