SF: Fix invalid reduction of transparent region from a layer.
Reduce transparent region from a layer only if the transparent region has valid intersection with the layer. Otherwise, reducing a transparent region lying completely outside of the layer leads to invalid sourcecrop values for the layer. Change-Id: Iee9ba53a8072c21c9ba8a6d58cb14ca30f8600ba CRs-Fixed: 620973
This commit is contained in:
parent
bea57f312d
commit
5934c292ab
@ -326,7 +326,9 @@ Rect Layer::reduce(const Rect& win, const Region& exclude) const{
|
||||
if (CC_LIKELY(exclude.isEmpty())) {
|
||||
return win;
|
||||
}
|
||||
if (exclude.isRect()) {
|
||||
Rect tmp;
|
||||
win.intersect(exclude.getBounds(), &tmp);
|
||||
if (exclude.isRect() && !tmp.isEmpty()) {
|
||||
return win.reduce(exclude.getBounds());
|
||||
}
|
||||
return Region(win).subtract(exclude).getBounds();
|
||||
|
Loading…
Reference in New Issue
Block a user