forked from enlightenment/efl
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
This commit is contained in:
parent
652533e27d
commit
d505167d68
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue