From c298f9c9170b9e8721cfb616f784ec22734f22f4 Mon Sep 17 00:00:00 2001 From: John Reck Date: Fri, 7 Nov 2014 10:33:36 -0800 Subject: [PATCH] Fix finalizer ordering/double-free issue Bug: 18289984 If Surface:finalize() happens after HwuiContext:finalize() it would try to manipulate a destroyed object. However, as Surface:finalize() always calls HwuiContext:destroy() this can be fixed by simply getting rid of HwuiContext's finalizer Change-Id: I7c912214417ab32891b1c58d045c9721e5f01965 --- core/java/android/view/Surface.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java index 562d13866984c..82ef171974de2 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -603,15 +603,6 @@ public class Surface implements Parcelable { mHwuiRenderer = 0; } } - - @Override - protected void finalize() throws Throwable { - try { - destroy(); - } finally { - super.finalize(); - } - } } private static native long nHwuiCreate(long rootNode, long surface);