applying this optimization to prevent the same rectangle from being added
or removed repeatedly in succession would result in the rejecting of successive
operations of the same type when the other operation occurred in between.
as an example:
add(0, 0, 100, 100)
del(0, 0, 100, 100)
add(0, 0, 100, 100)
should yield (0, 0, 100, 100), not zero rects and a failure to add the
second rect
this fixes a serious issue in enlightenment where stacking three windows
on top of each other with the first and third windows having the same geometry
would result in the top window receiving no input geometry (oops)
@fix
return EINA_FALSE;
t->last.add = tmp;
+ t->last.del.w = t->last.del.h = -1;
return _splitter_rect_add(t, &tmp);
}
return;
t->last.del = tmp;
+ t->last.add.w = t->last.add.h = -1;
_splitter_rect_del(t, &tmp);
}