summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-02-13 19:11:52 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-02-13 19:11:52 +0900
commit87e717ae45416acebaa4812ef6a259505d720362 (patch)
treebcdd5d43c7c941f0df7141fd8aecab005d7747ca
parentc7aa6039c804abd01d15f6691237a4e3b14b4bbd (diff)
downloadefl-87e717ae45416acebaa4812ef6a259505d720362.tar.gz
edje - fix bunch of possible null return errors with checks
fixes CID 1135274 CID 1135272 CID 1135275
-rw-r--r--src/lib/edje/edje_util.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index d97197cf18..a0a9357a43 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -5166,6 +5166,7 @@ _edje_child_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *child, void *ei
Eina_List *l;
Edje *ed = evas_object_data_get(child, ".edje");
+ if (!ed) return;
EINA_LIST_FOREACH(ed->user_defined, l, eud)
if (rp->part->type == EDJE_PART_TYPE_BOX)
{
@@ -5201,7 +5202,7 @@ _edje_child_add(Edje *ed, Edje_Real_Part *rp, Evas_Object *child)
{
evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _edje_child_del_cb, rp);
evas_object_data_set(child, ".edje", ed);
-
+ if (!ed) return;
ed->dirty = EINA_TRUE;
ed->recalc_call = EINA_TRUE;
#ifdef EDJE_CALC_CACHE
@@ -5215,7 +5216,7 @@ _edje_child_remove(Edje *ed, Edje_Real_Part *rp, Evas_Object *child)
{
evas_object_event_callback_del_full(child, EVAS_CALLBACK_DEL, _edje_child_del_cb, rp);
evas_object_data_del(child, ".edje");
-
+ if (!ed) return;
ed->dirty = EINA_TRUE;
ed->recalc_call = EINA_TRUE;
#ifdef EDJE_CALC_CACHE
@@ -6320,7 +6321,7 @@ _edje_object_part_swallow_free_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, E
Edje_Real_Part *rp;
ed = evas_object_data_get(obj, ".edje");
-
+ if (!ed) return;
EINA_LIST_FOREACH(ed->user_defined, l, eud)
if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj)
{
@@ -6420,7 +6421,7 @@ _edje_object_part_swallow_changed_hints_cb(void *data, EINA_UNUSED Evas *e, Evas
rp = data;
ed = evas_object_data_get(obj, ".edje");
-
+ if (!ed) return;
_edje_real_part_swallow_hints_update(rp);
ed->dirty = EINA_TRUE;
ed->recalc_call = EINA_TRUE;