Fix NPE in TextureView
Bug: 30651595
Change-Id: Ic6cc2a1598de173aaadb4061562236a563a662b3
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index ce2fa81..a42da85 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -242,21 +242,23 @@
}
private void releaseSurfaceTexture() {
- boolean shouldRelease = true;
+ if (mSurface != null) {
+ boolean shouldRelease = true;
- if (mListener != null) {
- shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
- }
+ if (mListener != null) {
+ shouldRelease = mListener.onSurfaceTextureDestroyed(mSurface);
+ }
- synchronized (mNativeWindowLock) {
- nDestroyNativeWindow();
- }
+ synchronized (mNativeWindowLock) {
+ nDestroyNativeWindow();
+ }
- if (shouldRelease) {
- mSurface.release();
+ if (shouldRelease) {
+ mSurface.release();
+ }
+ mSurface = null;
+ mHadSurface = true;
}
- mSurface = null;
- mHadSurface = true;
}
/**