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)
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
1133 } 1133 }
1134 1134
1135 opt = _evas_object_table_option_get(child); 1135 opt = _evas_object_table_option_get(child);
1136 if (!opt) 1136 if (opt)
1137 {
1138 if (evas_object_smart_parent_get(child) != o)
1139 {
1140 CRI("cannot pack child of one table into another table!");
1141 return EINA_FALSE;
1142 }
1143 }
1144 else
1137 { 1145 {
1138 opt = malloc(sizeof(*opt)); 1146 opt = malloc(sizeof(*opt));
1139 if (!opt) 1147 if (!opt)
@@ -1152,7 +1160,7 @@ _evas_table_pack(Eo *o, Evas_Table_Data *priv, Evas_Object *child, unsigned shor
1152 opt->end_col = col + colspan; 1160 opt->end_col = col + colspan;
1153 opt->end_row = row + rowspan; 1161 opt->end_row = row + rowspan;
1154 1162
1155 if (evas_object_smart_parent_get(child) == o) 1163 if (!optalloc)
1156 { 1164 {
1157 Eina_Bool need_shrink = EINA_FALSE; 1165 Eina_Bool need_shrink = EINA_FALSE;
1158 1166