elementary/win - fixed invalid sd memory access catched by valgrind.

now, more simple and clear!



SVN revision: 74310
This commit is contained in:
ChunEon Park 2012-07-23 08:23:01 +00:00
parent 634b9dc80e
commit d555e52cc4
1 changed files with 12 additions and 16 deletions

View File

@ -1139,6 +1139,16 @@ _elm_win_focus_highlight_shutdown(Elm_Win_Smart_Data *sd)
_elm_win_object_focus_out, sd);
}
static void
_elm_win_on_img_obj_del(void *data,
Evas *e __UNUSED__,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
Elm_Win_Smart_Data *sd = data;
sd->img_obj = NULL;
}
static void
_elm_win_smart_del(Evas_Object *obj)
{
@ -1177,6 +1187,8 @@ _elm_win_smart_del(Evas_Object *obj)
if (sd->img_obj)
{
evas_object_event_callback_del_full
(sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, sd);
sd->img_obj = NULL;
}
else
@ -1218,22 +1230,6 @@ _elm_win_smart_del(Evas_Object *obj)
}
}
static void
_elm_win_on_img_obj_del(void *data,
Evas *e __UNUSED__,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
Elm_Win_Smart_Data *sd = data;
if (!sd->img_obj) return;
evas_object_event_callback_del_full
(sd->img_obj, EVAS_CALLBACK_DEL, _elm_win_on_img_obj_del, sd);
evas_object_del(sd->img_obj);
}
static void
_elm_win_obj_intercept_show(void *data,
Evas_Object *obj)