edje_edit: fixed SEGFAULT in _edje_real_part_free
Reviewers: cedric, seoz, raster Reviewed By: raster CC: reutskiy.v.v, cedric Differential Revision: https://phab.enlightenment.org/D336
This commit is contained in:
parent
03969c9822
commit
a4c16c221e
|
@ -315,14 +315,15 @@ _edje_real_part_free(Edje *ed, Edje_Real_Part *rp)
|
|||
evas_object_del(rp->object);
|
||||
}
|
||||
|
||||
if ((rp->typedata.swallow) && (rp->typedata.swallow->swallowed_object))
|
||||
if ((rp->type == EDJE_RP_TYPE_SWALLOW) && (rp->typedata.swallow)
|
||||
&& (rp->typedata.swallow->swallowed_object))
|
||||
{
|
||||
evas_object_smart_member_del(rp->typedata.swallow->swallowed_object);
|
||||
evas_object_event_callback_del(rp->typedata.swallow->swallowed_object,
|
||||
EVAS_CALLBACK_FREE,
|
||||
_edje_object_part_swallow_free_cb);
|
||||
EVAS_CALLBACK_FREE, _edje_object_part_swallow_free_cb);
|
||||
evas_object_clip_unset(rp->typedata.swallow->swallowed_object);
|
||||
evas_object_data_del(rp->typedata.swallow->swallowed_object, "\377 edje.swallowing_part");
|
||||
evas_object_data_del(rp->typedata.swallow->swallowed_object,
|
||||
"\377 edje.swallowing_part");
|
||||
if (rp->part->mouse_events)
|
||||
_edje_callbacks_del(rp->typedata.swallow->swallowed_object, ed);
|
||||
|
||||
|
@ -333,10 +334,14 @@ _edje_real_part_free(Edje *ed, Edje_Real_Part *rp)
|
|||
rp->typedata.swallow->swallowed_object = NULL;
|
||||
}
|
||||
|
||||
if ((rp->typedata.text) && (rp->typedata.text->text)) eina_stringshare_del(rp->typedata.text->text);
|
||||
if ((rp->typedata.text) && (rp->typedata.text->font)) eina_stringshare_del(rp->typedata.text->font);
|
||||
if ((rp->typedata.text) && (rp->typedata.text->cache.in_str)) eina_stringshare_del(rp->typedata.text->cache.in_str);
|
||||
if ((rp->typedata.text) && (rp->typedata.text->cache.out_str)) eina_stringshare_del(rp->typedata.text->cache.out_str);
|
||||
if ((rp->type == EDJE_RP_TYPE_TEXT) && (rp->typedata.text) &&
|
||||
(rp->typedata.text->text)) eina_stringshare_del(rp->typedata.text->text);
|
||||
if ((rp->type == EDJE_RP_TYPE_TEXT) && (rp->typedata.text) &&
|
||||
(rp->typedata.text->font)) eina_stringshare_del(rp->typedata.text->font);
|
||||
if ((rp->type == EDJE_RP_TYPE_TEXT) && (rp->typedata.text) &&
|
||||
(rp->typedata.text->cache.in_str)) eina_stringshare_del(rp->typedata.text->cache.in_str);
|
||||
if ((rp->type == EDJE_RP_TYPE_TEXT) && (rp->typedata.text) &&
|
||||
(rp->typedata.text->cache.out_str)) eina_stringshare_del(rp->typedata.text->cache.out_str);
|
||||
|
||||
if (rp->custom)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue