Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 409c087f authored by Steve Pfetsch's avatar Steve Pfetsch Committed by android-build-merger
Browse files

services: surfaceflinger: ASAN fix am: 1d3df546

am: ff06017c

Change-Id: Ie1f5418312cffc6b1a1ec9a7fd0194babaf9d6d9
parents c438a959 ff06017c
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -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();
@@ -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);