summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-03-17 13:16:53 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-03-17 15:15:25 -0400
commitb86362dd05652da43af9001b737c00a397824137 (patch)
tree80bfafb0eed1a1baf21077edcf75e1901d44a70f
parentf6434c0e0d91d353185a1ffc9dd5ce57f7a9db84 (diff)
downloadefl-b86362dd05652da43af9001b737c00a397824137.tar.gz
evas table: CRI when attempting to pack a table child into another table
@fix
-rw-r--r--src/lib/evas/canvas/evas_object_table.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c
index 5eea6f9599..c062ef5bd7 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -1133,7 +1133,15 @@ _evas_table_pack(Eo *o, Evas_Table_Data *priv, Evas_Object *child, unsigned shor
}
opt = _evas_object_table_option_get(child);
- if (!opt)
+ if (opt)
+ {
+ if (evas_object_smart_parent_get(child) != o)
+ {
+ CRI("cannot pack child of one table into another table!");
+ return EINA_FALSE;
+ }
+ }
+ else
{
opt = malloc(sizeof(*opt));
if (!opt)
@@ -1152,7 +1160,7 @@ _evas_table_pack(Eo *o, Evas_Table_Data *priv, Evas_Object *child, unsigned shor
opt->end_col = col + colspan;
opt->end_row = row + rowspan;
- if (evas_object_smart_parent_get(child) == o)
+ if (!optalloc)
{
Eina_Bool need_shrink = EINA_FALSE;