aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
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-26 17:58:07 +0900
commit5258a6d46f5c16423135514cab759ce1a4bfdc6b (patch)
tree12ac901b34c9a43b8fc6af3758a01be25632b595 /src/lib/elementary/efl_ui_win.c
parentevas: Fix shutdown of async cmd cache (diff)
downloadefl-5258a6d46f5c16423135514cab759ce1a4bfdc6b.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.
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-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 b1f95a7161..604173dec8 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2936,14 +2936,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));