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

Commit 15d55c26 authored by Rob Carr's avatar Rob Carr Committed by android-build-merger
Browse files

Merge "SurfaceControl: Close CloseGuard when destroying surface in transaction." into pi-dev

am: 625de775

Change-Id: I254ad6e09b1e5a0677d4dfc52a6abe875c89e79d
parents f0f07467 625de775
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1580,6 +1580,20 @@ public class SurfaceControl implements Parcelable {
         */
        public Transaction destroy(SurfaceControl sc) {
            sc.checkNotReleased();

            /**
             * Perhaps it's safer to transfer the close guard to the Transaction
             * but then we have a whole wonky scenario regarding merging, multiple
             * close-guards per transaction etc...the whole scenario is kind of wonky
             * and it seems really we'd like to just be able to call release here
             * but the WindowManager has some code that looks like
             * --- destroyInTransaction(a)
             * --- reparentChildrenInTransaction(a)
             * so we need to ensure the SC remains valid until the transaction
             * is applied.
             */
            sc.mCloseGuard.close();

            nativeDestroy(mNativeObject, sc.mNativeObject);
            return this;
        }