diff --git a/graphics/java/android/graphics/Camera.java b/graphics/java/android/graphics/Camera.java index 57e0f2714c855..60588d07196ca 100644 --- a/graphics/java/android/graphics/Camera.java +++ b/graphics/java/android/graphics/Camera.java @@ -163,6 +163,7 @@ public class Camera { protected void finalize() throws Throwable { try { nativeDestructor(); + native_instance = 0; } finally { super.finalize(); } diff --git a/graphics/java/android/graphics/ColorFilter.java b/graphics/java/android/graphics/ColorFilter.java index 4838aa0da7598..ac62bf4d69e96 100644 --- a/graphics/java/android/graphics/ColorFilter.java +++ b/graphics/java/android/graphics/ColorFilter.java @@ -40,6 +40,7 @@ public class ColorFilter { super.finalize(); } finally { destroyFilter(native_instance); + native_instance = 0; } } diff --git a/graphics/java/android/graphics/DrawFilter.java b/graphics/java/android/graphics/DrawFilter.java index aaefce95b2901..c7fdcb22c71d4 100644 --- a/graphics/java/android/graphics/DrawFilter.java +++ b/graphics/java/android/graphics/DrawFilter.java @@ -33,6 +33,7 @@ public class DrawFilter { protected void finalize() throws Throwable { try { nativeDestructor(mNativeInt); + mNativeInt = 0; } finally { super.finalize(); } diff --git a/graphics/java/android/graphics/Movie.java b/graphics/java/android/graphics/Movie.java index ecb42553e0950..c8f86c6071321 100644 --- a/graphics/java/android/graphics/Movie.java +++ b/graphics/java/android/graphics/Movie.java @@ -21,7 +21,7 @@ import java.io.InputStream; import java.io.FileInputStream; public class Movie { - private final long mNativeMovie; + private long mNativeMovie; private Movie(long nativeMovie) { if (nativeMovie == 0) { @@ -82,6 +82,7 @@ public class Movie { protected void finalize() throws Throwable { try { nativeDestructor(mNativeMovie); + mNativeMovie = 0; } finally { super.finalize(); } diff --git a/graphics/java/android/graphics/Rasterizer.java b/graphics/java/android/graphics/Rasterizer.java index c351d94e63001..f6a38fe89eab5 100644 --- a/graphics/java/android/graphics/Rasterizer.java +++ b/graphics/java/android/graphics/Rasterizer.java @@ -26,6 +26,7 @@ public class Rasterizer { protected void finalize() throws Throwable { finalizer(native_instance); + native_instance = 0; } private static native void finalizer(long native_instance); diff --git a/graphics/java/android/graphics/Xfermode.java b/graphics/java/android/graphics/Xfermode.java index 883350d1ce680..c049e41c65ff1 100644 --- a/graphics/java/android/graphics/Xfermode.java +++ b/graphics/java/android/graphics/Xfermode.java @@ -33,6 +33,7 @@ public class Xfermode { protected void finalize() throws Throwable { try { finalizer(native_instance); + native_instance = 0; } finally { super.finalize(); }