From fbce6ac4cb9aebd795603fc2e315f6934bdabda7 Mon Sep 17 00:00:00 2001 From: Ichitaro Kohara Date: Thu, 17 Feb 2011 12:31:23 +0100 Subject: Fixed to call computeVisibleRegions() when transparent value changed When some Surfaces are overlapping and one of them changed to transparent or opaque, the back Surfaces should appear or disappear. This patch calls SurfaceFlinger::computeVisibleRegions() to re-calculate region of each Surface to implement the behavior. Change-Id: Iffb1caf1b4ce28dff252e114fe5b9b07d9c84a6f --- services/surfaceflinger/LayerBuffer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/surfaceflinger/LayerBuffer.cpp b/services/surfaceflinger/LayerBuffer.cpp index 23506cf..55d859d 100644 --- a/services/surfaceflinger/LayerBuffer.cpp +++ b/services/surfaceflinger/LayerBuffer.cpp @@ -93,6 +93,9 @@ bool LayerBuffer::needsBlending() const { } void LayerBuffer::setNeedsBlending(bool blending) { + if (mNeedsBlending != blending) { + mFlinger->invalidateLayerVisibility(this); + } mNeedsBlending = blending; } -- cgit v1.1