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

Commit 79f2e1af authored by Mathias Agopian's avatar Mathias Agopian Committed by Android Git Automerger
Browse files

am e31564d8: Fix a crasher is surfaceflinger.

* commit 'e31564d8':
  Fix a crasher is surfaceflinger.
parents 584fcb32 e31564d8
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -617,20 +617,20 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
            return;
        }


        // update the active buffer
        mActiveBuffer = mSurfaceTexture->getCurrentBuffer();
        if (mActiveBuffer == NULL) {
            // this can only happen if the very first buffer was rejected.
            return;
        }

        mFrameLatencyNeeded = true;
        if (oldActiveBuffer == NULL && mActiveBuffer != NULL) {
        if (oldActiveBuffer == NULL) {
             // the first time we receive a buffer, we need to trigger a
             // geometry invalidation.
             mFlinger->invalidateHwcGeometry();
         }

        uint32_t bufWidth  = mActiveBuffer->getWidth();
        uint32_t bufHeight = mActiveBuffer->getHeight();

        Rect crop(mSurfaceTexture->getCurrentCrop());
        const uint32_t transform(mSurfaceTexture->getCurrentTransform());
        const uint32_t scalingMode(mSurfaceTexture->getCurrentScalingMode());
@@ -645,6 +645,8 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions)
        }

        if (oldActiveBuffer != NULL) {
            uint32_t bufWidth  = mActiveBuffer->getWidth();
            uint32_t bufHeight = mActiveBuffer->getHeight();
            if (bufWidth != uint32_t(oldActiveBuffer->width) ||
                bufHeight != uint32_t(oldActiveBuffer->height)) {
                mFlinger->invalidateHwcGeometry();