summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/LayerBuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/LayerBuffer.cpp')
-rw-r--r--services/surfaceflinger/LayerBuffer.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/surfaceflinger/LayerBuffer.cpp b/services/surfaceflinger/LayerBuffer.cpp
index edc00f1..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;
}
@@ -509,7 +512,7 @@ status_t LayerBuffer::BufferSource::initTempBuffer() const
const ISurface::BufferHeap& buffers(mBufferHeap);
uint32_t w = mLayer.mTransformedBounds.width();
uint32_t h = mLayer.mTransformedBounds.height();
- if (buffers.w * h != buffers.h * w) {
+ if (mLayer.getOrientation() & (Transform::ROT_90 | Transform::ROT_270)) {
int t = w; w = h; h = t;
}