diff options
author | Cedric BAIL <cedric.bail@free.fr> | 2019-11-08 12:12:30 -0800 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-11-13 21:16:16 +0100 |
commit | d505167d68e716c9833e70ae4a1ddf57a9bdbab2 (patch) | |
tree | 218513771d5554fb7054b7cafbb02aff2a556a21 | |
parent | 652533e27d718366087792154e597a10ca9b54bb (diff) | |
download | efl-d505167d68e716c9833e70ae4a1ddf57a9bdbab2.tar.gz |
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 <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10632
-rw-r--r-- | src/lib/ecore/efl_boolean_model.c | 4 |
1 files 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; |