discomfitor pushed a commit to branch master.

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

commit b86362dd05652da43af9001b737c00a397824137
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 17 13:16:53 2017 -0400

    evas table: CRI when attempting to pack a table child into another table
    
    @fix
---
 src/lib/evas/canvas/evas_object_table.c | 12 ++++++++++--
 1 file 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 5eea6f9..c062ef5 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;
 

-- 


Reply via email to