diff options
author | Ichitaro Kohara <ichitaro.kohara@sonyericsson.com> | 2011-02-17 12:31:23 +0100 |
---|---|---|
committer | Johan Redestig <johan.redestig@sonyericsson.com> | 2011-02-17 12:31:23 +0100 |
commit | fbce6ac4cb9aebd795603fc2e315f6934bdabda7 (patch) | |
tree | 781ce782d63380b5b5bc0c2d7cd461671975c5a1 | |
parent | 93552de8e305027fb003401e347b9493c64c981f (diff) | |
download | frameworks_base-fbce6ac4cb9aebd795603fc2e315f6934bdabda7.zip frameworks_base-fbce6ac4cb9aebd795603fc2e315f6934bdabda7.tar.gz frameworks_base-fbce6ac4cb9aebd795603fc2e315f6934bdabda7.tar.bz2 |
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
-rw-r--r-- | services/surfaceflinger/LayerBuffer.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
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; } |