Loading services/surfaceflinger/SurfaceFlinger.cpp +10 −10 Original line number Diff line number Diff line Loading @@ -2159,6 +2159,16 @@ void SurfaceFlinger::postComposition() } }); mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (presentFenceTime->isValid()) { mScheduler->addPresentFence(presentFenceTime); } Loading Loading @@ -2230,16 +2240,6 @@ void SurfaceFlinger::postComposition() } } mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (mLumaSampling && mRegionSamplingThread) { mRegionSamplingThread->notifyNewContent(); } Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +10 −10 Original line number Diff line number Diff line Loading @@ -2159,6 +2159,16 @@ void SurfaceFlinger::postComposition() } }); mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (presentFenceTime->isValid()) { mScheduler->addPresentFence(presentFenceTime); } Loading Loading @@ -2230,16 +2240,6 @@ void SurfaceFlinger::postComposition() } } mTransactionCompletedThread.addPresentFence(mPreviousPresentFences[0]); // Lock the mStateLock in case SurfaceFlinger is in the middle of applying a transaction. // If we do not lock here, a callback could be sent without all of its SurfaceControls and // metrics. { Mutex::Autolock _l(mStateLock); mTransactionCompletedThread.sendCallbacks(); } if (mLumaSampling && mRegionSamplingThread) { mRegionSamplingThread->notifyNewContent(); } Loading