raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f9fe869d230e3c2caf07c004ccbf93f80129efb1

commit f9fe869d230e3c2caf07c004ccbf93f80129efb1
Author: perepelits.m <[email protected]>
Date:   Wed Feb 19 12:18:42 2014 +0900

    Edje_Edit: Add NULL-check
    
    Summary:
    Add NULL-check in:
             edje_edit_state_add
             _edje_edit_real_part_add
             _edje_part_recalc (edje_calc.c)
    
    Reviewers: cedric, seoz, raster
    
    Reviewed By: raster
    
    CC: reutskiy.v.v, cedric
    
    Differential Revision: https://phab.enlightenment.org/D567
---
 src/lib/edje/edje_calc.c | 20 +++++++++++---------
 src/lib/edje/edje_edit.c |  3 ++-
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 1a1f0c0..00c25db 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -3177,15 +3177,17 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int 
flags, Edje_Calc_Params *sta
      return;
 #endif
 
-   if (ep->param1.description->rel1.id_x >= 0)
-     rp1[Rel1X] = ed->table_parts[ep->param1.description->rel1.id_x];
-   if (ep->param1.description->rel2.id_x >= 0)
-     rp1[Rel2X] = ed->table_parts[ep->param1.description->rel2.id_x];
-   if (ep->param1.description->rel1.id_y >= 0)
-     rp1[Rel1Y] = ed->table_parts[ep->param1.description->rel1.id_y];
-   if (ep->param1.description->rel2.id_y >= 0)
-     rp1[Rel2Y] = ed->table_parts[ep->param1.description->rel2.id_y];
-
+   if (ep->param1.description) 
+     {
+       if (ep->param1.description->rel1.id_x >= 0)
+         rp1[Rel1X] = ed->table_parts[ep->param1.description->rel1.id_x];
+       if (ep->param1.description->rel2.id_x >= 0)
+         rp1[Rel2X] = ed->table_parts[ep->param1.description->rel2.id_x];
+       if (ep->param1.description->rel1.id_y >= 0)
+         rp1[Rel1Y] = ed->table_parts[ep->param1.description->rel1.id_y];
+       if (ep->param1.description->rel2.id_y >= 0)
+         rp1[Rel2Y] = ed->table_parts[ep->param1.description->rel2.id_y];
+     }
    if (ep->param2)
      {
         if (ep->param2->description->rel1.id_x >= 0)
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 15c3de9..57246dc 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -2193,6 +2193,7 @@ _edje_edit_real_part_add(Evas_Object *obj, const char 
*name, Edje_Part_Type type
    if (_edje_real_part_get(ed, name))
      return EINA_FALSE;
 
+   if (ed->file)
    ce = eina_hash_find(ed->file->collection, ed->group);
 
    /* Alloc Edje_Part or return */
@@ -3340,7 +3341,7 @@ edje_edit_state_add(Evas_Object *obj, const char *part, 
const char *name, double
                  external->external_params = 
eina_list_append(external->external_params, p);
                  pi++;
               }
-            if (external->external_params)
+            if (external->external_params && rp->typedata.swallow)
               rp->param1.external_params = 
_edje_external_params_parse(rp->typedata.swallow->swallowed_object, 
external->external_params);
          }
      }

-- 


Reply via email to