Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d815272 authored by Hans Boehm's avatar Hans Boehm Committed by Android Git Automerger
Browse files

am 58c27e3e: am c0ce6c42: Merge "Reduce risk of memory corruption due to finalization."

* commit '58c27e3e':
  Reduce risk of memory corruption due to finalization.
parents 26a11c28 58c27e3e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -147,11 +147,12 @@ public class Interpolator {
    @Override
    protected void finalize() throws Throwable {
        nativeDestructor(native_instance);
        native_instance = 0;  // Other finalizers can still call us.
    }
    
    private int mValueCount;
    private int mFrameCount;
    private final long native_instance;
    private long native_instance;

    private static native long nativeConstructor(int valueCount, int frameCount);
    private static native void nativeDestructor(long native_instance);
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ public class MaskFilter {

    protected void finalize() throws Throwable {
        nativeDestructor(native_instance);
        native_instance = 0;  // Other finalizers can still call us.
    }

    private static native void nativeDestructor(long native_filter);
+1 −0
Original line number Diff line number Diff line
@@ -827,6 +827,7 @@ public class Matrix {
    protected void finalize() throws Throwable {
        try {
            finalizer(native_instance);
            native_instance = 0;  // Other finalizers can still call us.
        } finally {
            super.finalize();
        }
+2 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ public class NinePatch {
     *
     * @hide
     */
    public final long mNativeChunk;
    public long mNativeChunk;

    private Paint mPaint;
    private String mSrcName;
@@ -121,6 +121,7 @@ public class NinePatch {
            if (mNativeChunk != 0) {
                // only attempt to destroy correctly initilized chunks
                nativeFinalize(mNativeChunk);
                mNativeChunk = 0;
            }
        } finally {
            super.finalize();
+1 −0
Original line number Diff line number Diff line
@@ -2435,6 +2435,7 @@ public class Paint {
    protected void finalize() throws Throwable {
        try {
            finalizer(mNativePaint);
            mNativePaint = 0;
        } finally {
            super.finalize();
        }
Loading