OSDN Git Service

Fix NPE in TextureView
authorJohn Reck <jreck@google.com>
Thu, 4 Aug 2016 16:43:29 +0000 (16:43 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 4 Aug 2016 16:43:29 +0000 (16:43 +0000)
am: 3c2587f26e

Change-Id: I79f35e5029cb3abb5fa74a60e448cd09835e2112

core/java/android/view/TextureView.java

index ce2fa81..a42da85 100644 (file)
@@ -242,21 +242,23 @@ public class TextureView extends View {
     }
 
     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;
     }
 
     /**