bu5hm4n pushed a commit to branch master.

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

commit d505167d68e716c9833e70ae4a1ddf57a9bdbab2
Author: Cedric BAIL <cedric.b...@free.fr>
Date:   Fri Nov 8 12:12:30 2019 -0800

    ecore: correctly apply the offset on the upper part of the boolean mask for 
Efl.BooleanModel.
    
    The upper mask is the one that should actually move as the gap is between 
the lower and
    the upper mask when removing an element from the array.
    
    Reviewed-by: Marcel Hollerbach <m...@marcel-hollerbach.de>
    Differential Revision: https://phab.enlightenment.org/D10632
---
 src/lib/ecore/efl_boolean_model.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_boolean_model.c 
b/src/lib/ecore/efl_boolean_model.c
index 5ac0dcaab5..552baf1096 100644
--- a/src/lib/ecore/efl_boolean_model.c
+++ b/src/lib/ecore/efl_boolean_model.c
@@ -282,8 +282,8 @@ _child_removed(void *data, const Efl_Event *event)
              // Manually shift all the byte in the buffer
              while (offset < byte_length)
                {
-                  lookup->buffer[offset] = (lookup->buffer[offset] & 
upper_mask) |
-                    ((lookup->buffer[offset] & lower_mask) << 1);
+                  lookup->buffer[offset] = ((lookup->buffer[offset] & 
upper_mask) >> 1) |
+                    (lookup->buffer[offset] & lower_mask);
                   if (offset + 1 < byte_length)
                     lookup->buffer[offset] |= lookup->buffer[offset + 1] & 0x1;
 

-- 


Reply via email to