summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2014-03-25 11:06:06 -0400
committerMike Blumenkrantz <zmike@samsung.com>2014-03-25 11:07:30 -0400
commit3083732bfbe4a45cf596bd732d154c156bcae2a2 (patch)
treeee764498f07420da2d7475eac345f4f7b92d44ac
parent74556a3f901587f807758a4411a59738696796a9 (diff)
downloadefl-3083732bfbe4a45cf596bd732d154c156bcae2a2.tar.gz
edje_cc probably should ignore limit inherits when there are no limits
-rw-r--r--src/bin/edje/edje_cc_handlers.c105
1 files changed, 56 insertions, 49 deletions
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 26f4322f2d..f900a8ba06 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -2860,63 +2860,70 @@ st_collections_group_inherit(void)
pcp2 = (Edje_Part_Collection_Parser *)pc2;
pcp->default_mouse_events = pcp2->default_mouse_events;
- {
- Edje_Limit **elp;
+ if (pc2->limits.vertical_count || pc2->limits.horizontal_count)
+ {
+ Edje_Limit **elp;
- elp = realloc(pc->limits.vertical,
- pc->limits.vertical_count + pc2->limits.vertical_count * sizeof(Edje_Limit *));
- if (!elp)
- {
- ERR("Not enough memory.");
- exit(-1);
- }
- pc->limits.vertical = elp;
- offset = pc->limits.vertical_count;
- for (i = 0; i < pc2->limits.vertical_count; i++)
- {
- Edje_Limit *el;
+ if (pc2->limits.vertical_count)
+ {
+ elp = realloc(pc->limits.vertical,
+ pc->limits.vertical_count + pc2->limits.vertical_count * sizeof(Edje_Limit *));
+ if (!elp)
+ {
+ ERR("Not enough memory.");
+ exit(-1);
+ }
+ pc->limits.vertical = elp;
+ offset = pc->limits.vertical_count;
+ for (i = 0; i < pc2->limits.vertical_count; i++)
+ {
+ Edje_Limit *el;
- el = mem_alloc(SZ(Edje_Limit));
- if (!el)
- {
- ERR("Not enough memory.");
- exit(-1);
- }
+ el = mem_alloc(SZ(Edje_Limit));
+ if (!el)
+ {
+ ERR("Not enough memory.");
+ exit(-1);
+ }
- pc->limits.vertical[i + offset] = el;
+ pc->limits.vertical[i + offset] = el;
- el->name = STRDUP(pc2->limits.vertical[i]->name);
- el->value = pc2->limits.vertical[i]->value;
- pc->limits.vertical_count++;
- }
+ el->name = STRDUP(pc2->limits.vertical[i]->name);
+ el->value = pc2->limits.vertical[i]->value;
+ pc->limits.vertical_count++;
+ }
+ }
- elp = realloc(pc->limits.horizontal,
- pc->limits.horizontal_count + pc2->limits.horizontal_count * sizeof(Edje_Limit *));
- if (!elp)
- {
- ERR("Not enough memory.");
- exit(-1);
- }
- pc->limits.horizontal = elp;
- offset = pc->limits.horizontal_count;
- for (i = 0; i < pc2->limits.horizontal_count; i++)
- {
- Edje_Limit *el;
+ if (pc2->limits.horizontal_count)
+ {
+ elp = realloc(pc->limits.horizontal,
+ pc->limits.horizontal_count + pc2->limits.horizontal_count * sizeof(Edje_Limit *));
+ if (!elp)
+ {
+ ERR("Not enough memory.");
+ exit(-1);
+ }
+ pc->limits.horizontal = elp;
+ offset = pc->limits.horizontal_count;
+ for (i = 0; i < pc2->limits.horizontal_count; i++)
+ {
+ Edje_Limit *el;
- el = mem_alloc(SZ(Edje_Limit));
- if (!el)
- {
- ERR("Not enough memory.");
- exit(-1);
- }
+ el = mem_alloc(SZ(Edje_Limit));
+ if (!el)
+ {
+ ERR("Not enough memory.");
+ exit(-1);
+ }
- pc->limits.horizontal[i + offset] = el;
+ pc->limits.horizontal[i + offset] = el;
- el->name = STRDUP(pc2->limits.horizontal[i]->name);
- el->value = pc2->limits.horizontal[i]->value;
- pc->limits.horizontal_count++;
- }
- }
+ el->name = STRDUP(pc2->limits.horizontal[i]->name);
+ el->value = pc2->limits.horizontal[i]->value;
+ pc->limits.horizontal_count++;
+ }
+ }
+ }
offset = pc->parts_count;
for (i = 0 ; i < pc2->parts_count ; i++)