From: Dan Stoza Date: Tue, 5 May 2015 21:00:52 +0000 (-0700) Subject: SF: Apply pending transactions to new sidebands X-Git-Tag: android-x86-6.0-r1~153^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=12e0a27aa30d9db10eafe88904d3eb8fdcbcfa71;p=android-x86%2Fframeworks-native.git SF: Apply pending transactions to new sidebands When a Layer's sideband stream is set, apply any pending transactions. Otherwise they would never be applied since sideband streams don't trigger updates by pushing new buffers. Bug: 20125898 Change-Id: I0c7a91cdf84e6205801f4ab64eee0b09e4c0b3e0 (cherry picked from commit 3b04e1383eca6cb1d43ebe23a421c427007690c7) --- diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 9fb94dd3d3..7b104c3dfa 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -1125,6 +1125,10 @@ Region Layer::latchBuffer(bool& recomputeVisibleRegions) if (android_atomic_acquire_cas(true, false, &mSidebandStreamChanged) == 0) { // mSidebandStreamChanged was true mSidebandStream = mSurfaceFlingerConsumer->getSidebandStream(); + if (mSidebandStream != NULL) { + setTransactionFlags(eTransactionNeeded); + mFlinger->setTransactionFlags(eTraversalNeeded); + } recomputeVisibleRegions = true; const State& s(getDrawingState());