diff options
| -rw-r--r-- | core/java/android/view/SurfaceView.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 0d21eb5cf920..87b102b5e4d5 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -471,6 +471,13 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } private void performDrawFinished() { + if (mDeferredDestroySurfaceControl != null) { + synchronized (mSurfaceControlLock) { + mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply(); + mDeferredDestroySurfaceControl = null; + } + } + if (mPendingReportDraws > 0) { mDrawFinished = true; if (mAttachedToWindow) { @@ -1192,13 +1199,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall + "finishedDrawing"); } - if (mDeferredDestroySurfaceControl != null) { - synchronized (mSurfaceControlLock) { - mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply(); - mDeferredDestroySurfaceControl = null; - } - } - runOnUiThread(this::performDrawFinished); } |