From 050a8a050de04bd0098cde8fdf665a7202929ee0 Mon Sep 17 00:00:00 2001 From: John Reck Date: Fri, 7 Nov 2014 10:33:36 -0800 Subject: DO NOT MERGE 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 (cherry picked from commit c298f9c9170b9e8721cfb616f784ec22734f22f4) --- 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 99bb59f23357..da684e88c945 100644 --- a/core/java/android/view/Surface.java +++ b/core/java/android/view/Surface.java @@ -601,15 +601,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); -- cgit v1.2.3-59-g8ed1b