bu5hm4n pushed a commit to branch master.

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

commit 560db3957792b0dc5ca90076e88cab09b4cb877b
Author: Cedric BAIL <[email protected]>
Date:   Thu Nov 7 16:08:30 2019 -0800

    ecore: properly handle children destruction in Efl.BooleanModel.
    
    The children removal event is happening on the parent model, so access
    values directly.
    
    T8358
    
    Reviewed-by: Marcel Hollerbach <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D10623
---
 src/lib/ecore/efl_boolean_model.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore/efl_boolean_model.c 
b/src/lib/ecore/efl_boolean_model.c
index 3eaad886ef..5ac0dcaab5 100644
--- a/src/lib/ecore/efl_boolean_model.c
+++ b/src/lib/ecore/efl_boolean_model.c
@@ -258,11 +258,11 @@ _child_removed(void *data, const Efl_Event *event)
    Eina_Iterator *it;
    Eina_Array updated;
 
-   if (!pd->parent) return;
+   if (!pd->values) return;
 
    eina_array_step_set(&updated, sizeof (Eina_Array), 8);
 
-   it = eina_hash_iterator_data_new(pd->parent->values);
+   it = eina_hash_iterator_data_new(pd->values);
    EINA_ITERATOR_FOREACH(it, v)
      {
         Efl_Boolean_Model_Storage_Range *lookup;
@@ -276,7 +276,7 @@ _child_removed(void *data, const Efl_Event *event)
           {
              unsigned char lower_mask = (((unsigned char)1) << (ev->index & 
0x7)) - 1;
              unsigned char upper_mask = (~(((unsigned char)1) << (ev->index & 
0x7))) & (~lower_mask);
-             unsigned char offset = (ev->index - lookup->offset) >> 3;
+             uint16_t offset = (ev->index - lookup->offset) >> 3;
              uint16_t byte_length = lookup->length >> 3;
 
              // Manually shift all the byte in the buffer

-- 


Reply via email to