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

Commit 2545afe5 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by android-build-merger
Browse files

Merge "Fix issue with leaked preserved surface" into pi-dev

am: 682ca412

Change-Id: Icd502a24ae7502e4504e5341c9fd8f6da90cee67
parents cfc04c80 682ca412
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -4106,11 +4106,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        mDestroying = true;

        final boolean hasSurface = mWinAnimator.hasSurface();
        if (hasSurface) {

        // Use pendingTransaction here so hide is done the same transaction as the other
        // animations when exiting
        mWinAnimator.hide(getPendingTransaction(), "onExitAnimationDone");
        }

        // If we have an app token, we ask it to destroy the surface for us, so that it can take
        // care to ensure the activity has actually stopped and the surface is not still in use.
+6 −0
Original line number Diff line number Diff line
@@ -308,6 +308,12 @@ class WindowStateAnimator {
        if (!mLastHidden) {
            //dump();
            mLastHidden = true;

            // We may have a preserved surface which we no longer need. If there was a quick
            // VISIBLE, GONE, VISIBLE, GONE sequence, the surface may never draw, so we don't mark
            // it to be destroyed in prepareSurfaceLocked.
            markPreservedSurfaceForDestroy();

            if (mSurfaceController != null) {
                mSurfaceController.hide(transaction, reason);
            }