summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-06-19 10:07:29 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-06-19 10:07:29 -0700
commit2b1aed1021fb472de83c4c0143f2c4452244a0af (patch)
tree5d5478774fe8cf04e82cfed0c3aefbd8aa2ca9af
parent649f99e8347984c1e031dae302830f4c9ebd3df4 (diff)
parent4566b79736f236c0f605c57130d1fa954f4642d6 (diff)
downloadframeworks_base-2b1aed1021fb472de83c4c0143f2c4452244a0af.zip
frameworks_base-2b1aed1021fb472de83c4c0143f2c4452244a0af.tar.gz
frameworks_base-2b1aed1021fb472de83c4c0143f2c4452244a0af.tar.bz2
Merge change 4527 into donut
* changes: Fix Canvas.finalize() for the case where the constructor throws an exception before the native canvas instance was created.
-rw-r--r--graphics/java/android/graphics/Canvas.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 06d53e3..4498e1a 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -1404,7 +1404,11 @@ public class Canvas {
protected void finalize() throws Throwable {
super.finalize();
- finalizer(mNativeCanvas);
+ // If the constructor threw an exception before setting mNativeCanvas, the native finalizer
+ // must not be invoked.
+ if (mNativeCanvas != 0) {
+ finalizer(mNativeCanvas);
+ }
}
/**