diff options
| author | 2019-09-26 21:58:52 +0000 | |
|---|---|---|
| committer | 2019-09-26 21:58:52 +0000 | |
| commit | 05c575ea38b6aaa6369ef77149258c50c4eadb48 (patch) | |
| tree | d8543f4cc6d198e94cc632b4ff80c9f6b7249e91 | |
| parent | 346594121a6bbb0d38cbce6b85d80c48a75c7ff4 (diff) | |
| parent | 9421048a1f34aadb6b49ae602dd504322ad5243a (diff) | |
Merge "Continued SurfaceView lifetime fixes."
| -rw-r--r-- | core/java/android/view/SurfaceView.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index db3ef20d5859..06ff568202d5 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -1128,11 +1128,12 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall return; } - if (frameNumber > 0) { - final ViewRootImpl viewRoot = getViewRootImpl(); - - mRtTransaction.deferTransactionUntilSurface(mSurfaceControl, viewRoot.mSurface, - frameNumber); + final ViewRootImpl viewRoot = getViewRootImpl(); + if (frameNumber > 0 && viewRoot != null) { + if (viewRoot.mSurface.isValid()) { + mRtTransaction.deferTransactionUntilSurface(mSurfaceControl, viewRoot.mSurface, + frameNumber); + } } mRtTransaction.hide(mSurfaceControl); |