summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rob Carr <racarr@google.com> 2019-09-26 21:58:52 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-09-26 21:58:52 +0000
commit05c575ea38b6aaa6369ef77149258c50c4eadb48 (patch)
treed8543f4cc6d198e94cc632b4ff80c9f6b7249e91
parent346594121a6bbb0d38cbce6b85d80c48a75c7ff4 (diff)
parent9421048a1f34aadb6b49ae602dd504322ad5243a (diff)
Merge "Continued SurfaceView lifetime fixes."
-rw-r--r--core/java/android/view/SurfaceView.java11
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);