Loading services/surfaceflinger/SurfaceFlinger.cpp +8 −9 Original line number Diff line number Diff line Loading @@ -1781,9 +1781,12 @@ void SurfaceFlinger::updateCursorAsync() void SurfaceFlinger::commitTransaction() { if (!mLayersPendingRemoval.isEmpty()) { sp<const DisplayDevice> hw = getDefaultDisplayDevice(); if (!mLayersPendingRemoval.isEmpty() && hw->isDisplayOn()) { // Notify removed layers now that they can't be drawn from for (size_t i = 0; i < mLayersPendingRemoval.size(); i++) { mCurrentState.layersSortedByZ.remove(mLayersPendingRemoval[i]); recordBufferingStats(mLayersPendingRemoval[i]->getName().string(), mLayersPendingRemoval[i]->getOccupancyHistory(true)); mLayersPendingRemoval[i]->onRemoved(); Loading Loading @@ -2230,15 +2233,11 @@ status_t SurfaceFlinger::removeLayer(const wp<Layer>& weakLayer) { return NO_ERROR; } ssize_t index = mCurrentState.layersSortedByZ.remove(layer); if (index >= 0) { mLayersPendingRemoval.push(layer); mLayersRemoved = true; setTransactionFlags(eTransactionNeeded); return NO_ERROR; } return status_t(index); } uint32_t SurfaceFlinger::peekTransactionFlags(uint32_t /* flags */) { return android_atomic_release_load(&mTransactionFlags); Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +8 −9 Original line number Diff line number Diff line Loading @@ -1781,9 +1781,12 @@ void SurfaceFlinger::updateCursorAsync() void SurfaceFlinger::commitTransaction() { if (!mLayersPendingRemoval.isEmpty()) { sp<const DisplayDevice> hw = getDefaultDisplayDevice(); if (!mLayersPendingRemoval.isEmpty() && hw->isDisplayOn()) { // Notify removed layers now that they can't be drawn from for (size_t i = 0; i < mLayersPendingRemoval.size(); i++) { mCurrentState.layersSortedByZ.remove(mLayersPendingRemoval[i]); recordBufferingStats(mLayersPendingRemoval[i]->getName().string(), mLayersPendingRemoval[i]->getOccupancyHistory(true)); mLayersPendingRemoval[i]->onRemoved(); Loading Loading @@ -2230,15 +2233,11 @@ status_t SurfaceFlinger::removeLayer(const wp<Layer>& weakLayer) { return NO_ERROR; } ssize_t index = mCurrentState.layersSortedByZ.remove(layer); if (index >= 0) { mLayersPendingRemoval.push(layer); mLayersRemoved = true; setTransactionFlags(eTransactionNeeded); return NO_ERROR; } return status_t(index); } uint32_t SurfaceFlinger::peekTransactionFlags(uint32_t /* flags */) { return android_atomic_release_load(&mTransactionFlags); Loading