summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/LayerRejecter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/LayerRejecter.cpp')
-rw-r--r--services/surfaceflinger/LayerRejecter.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/services/surfaceflinger/LayerRejecter.cpp b/services/surfaceflinger/LayerRejecter.cpp
index b2424d0ed2..0b302ebe03 100644
--- a/services/surfaceflinger/LayerRejecter.cpp
+++ b/services/surfaceflinger/LayerRejecter.cpp
@@ -37,7 +37,7 @@ LayerRejecter::LayerRejecter(Layer::State& front,
mStickyTransformSet(stickySet),
mName(name),
mOverrideScalingMode(overrideScalingMode),
- mFreezeGeometryUpdates(freezePositionUpdates) {}
+ mFreezePositionUpdates(freezePositionUpdates) {}
bool LayerRejecter::reject(const sp<GraphicBuffer>& buf, const BufferItem& item) {
if (buf == NULL) {
@@ -115,7 +115,17 @@ bool LayerRejecter::reject(const sp<GraphicBuffer>& buf, const BufferItem& item)
mRecomputeVisibleRegions = true;
}
- mFreezeGeometryUpdates = false;
+ if (mFront.crop != mFront.requestedCrop) {
+ mFront.crop = mFront.requestedCrop;
+ mCurrent.crop = mFront.requestedCrop;
+ mRecomputeVisibleRegions = true;
+ }
+ if (mFront.finalCrop != mFront.requestedFinalCrop) {
+ mFront.finalCrop = mFront.requestedFinalCrop;
+ mCurrent.finalCrop = mFront.requestedFinalCrop;
+ mRecomputeVisibleRegions = true;
+ }
+ mFreezePositionUpdates = false;
return false;
}