diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-19 10:07:29 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-19 10:07:29 -0700 |
| commit | 2b1aed1021fb472de83c4c0143f2c4452244a0af (patch) | |
| tree | 5d5478774fe8cf04e82cfed0c3aefbd8aa2ca9af | |
| parent | 649f99e8347984c1e031dae302830f4c9ebd3df4 (diff) | |
| parent | 4566b79736f236c0f605c57130d1fa954f4642d6 (diff) | |
| download | frameworks_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.java | 6 |
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); + } } /** |
