Fix dirty calculation for layer updates

Bug: 15682142

 Defer early return of alpha <= 0 for damage accumulation until
 popTransform() so that layer updates will be performed regardless
 of alpha

Change-Id: Ifb94dd3ed2d96d610e6f2f3071933903016273a5
This commit is contained in:
John Reck
2014-06-17 16:18:09 -07:00
parent 4193730ad8
commit ce9f308063
2 changed files with 4 additions and 1 deletions

View File

@@ -170,6 +170,9 @@ void DamageAccumulator::applyRenderNodeTransform(DirtyStack* frame) {
}
const RenderProperties& props = frame->renderNode->properties();
if (props.getAlpha() <= 0) {
return;
}
// Perform clipping
if (props.getClipDamageToBounds() && !frame->pendingDirty.isEmpty()) {

View File

@@ -117,7 +117,7 @@ void RenderNode::prepareTree(TreeInfo& info) {
}
void RenderNode::damageSelf(TreeInfo& info) {
if (isRenderable() && properties().getAlpha() > 0) {
if (isRenderable()) {
if (properties().getClipDamageToBounds()) {
info.damageAccumulator->dirty(0, 0, properties().getWidth(), properties().getHeight());
} else {