oooh bad memory pointer handling as part of group inheritance (part
authorCarsten Haitzler <raster@rasterman.com>
Thu, 13 Oct 2011 00:09:04 +0000 (00:09 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 13 Oct 2011 00:09:04 +0000 (00:09 +0000)
overriding) patches....!!!!! fix!

SVN revision: 64028

legacy/edje/src/bin/edje_cc_handlers.c

index b64a53b51c25aa25d62c1dde44cc03bb60cb6cbf..db443ea8291f37f02cf403a7f834b8db5c46d508 100644 (file)
@@ -2647,13 +2647,14 @@ st_collections_group_parts_part_name(void)
    check_arg_count(1);
 
    pc = eina_list_data_get(eina_list_last(edje_collections));
-   ep = pc->parts[pc->parts_count - 1];
+   ep = current_part;
    ep->name = parse_str(0);
 
+   if (ep->name)
      {
         unsigned int i;
 
-        for (i = 0; i < pc->parts_count - 1; ++i)
+        for (i = 0; i < (pc->parts_count - 1); i++)
           {
              if (pc->parts[i]->name && (!strcmp(pc->parts[i]->name, ep->name)))
                {
@@ -2669,7 +2670,7 @@ st_collections_group_parts_part_name(void)
                        free(ep);
                        pc->parts_count--;
                        pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
-                       current_part = pc->parts[i];
+                       ep = current_part = pc->parts[i];
                        epp->can_override = EINA_FALSE;
                     }
                }