aboutsummaryrefslogtreecommitdiffstats
path: root/legacy/elementary/src/lib/elm_win.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2012-07-20 04:20:06 +0000
committerCedric BAIL <cedric.bail@free.fr>2012-07-20 04:20:06 +0000
commit187462ec9d895e74c9a8b2ad3778715f309418ef (patch)
tree67f0b178196cc97e605ab0b23475040b9d2ea3db /legacy/elementary/src/lib/elm_win.c
parent[elm] This file was not meant to exist. (diff)
downloadefl-187462ec9d895e74c9a8b2ad3778715f309418ef.tar.gz
elementary: fix erroneous memory access.
One more pack of beer for the Valgrind developer ! SVN revision: 74202
Diffstat (limited to 'legacy/elementary/src/lib/elm_win.c')
-rw-r--r--legacy/elementary/src/lib/elm_win.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/legacy/elementary/src/lib/elm_win.c b/legacy/elementary/src/lib/elm_win.c
index f8690f4bb5..a227319f68 100644
--- a/legacy/elementary/src/lib/elm_win.c
+++ b/legacy/elementary/src/lib/elm_win.c
@@ -1196,6 +1196,15 @@ _elm_win_smart_del(Evas_Object *obj)
if (sd->role) eina_stringshare_del(sd->role);
if (sd->icon) evas_object_del(sd->icon);
+ /* 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);
+
_elm_win_parent_sc->base.del(obj); /* handles freeing sd */
if ((!_elm_win_list) &&