diff options
author | Phil Dubach <phillipd@google.com> | 2009-06-29 16:57:46 -0700 |
---|---|---|
committer | Phil Dubach <phillipd@google.com> | 2009-06-29 18:31:17 -0700 |
commit | 6be507cc66863a08f08d6c0675e5bc11e5a45d32 (patch) | |
tree | dbafeff8aa6a5215cb02a026933bc46971d40c56 | |
parent | 66c2942a112b65eec93c25263684a8c79cb21318 (diff) | |
download | frameworks_base-6be507cc66863a08f08d6c0675e5bc11e5a45d32.zip frameworks_base-6be507cc66863a08f08d6c0675e5bc11e5a45d32.tar.gz frameworks_base-6be507cc66863a08f08d6c0675e5bc11e5a45d32.tar.bz2 |
Fix NullPointerException in DrawableContainer.mutate()
DrawableContainerState.mDrawables is an array which may be only partially
filled, as can be seen in the constructor and the addChild() method.
DrawableContainer.mutate() wrongly assumed that the array does not contain
null references.
-rw-r--r-- | graphics/java/android/graphics/drawable/DrawableContainer.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java index f8b88d0..376b1df 100644 --- a/graphics/java/android/graphics/drawable/DrawableContainer.java +++ b/graphics/java/android/graphics/drawable/DrawableContainer.java @@ -234,8 +234,10 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { - for (Drawable child : mDrawableContainerState.mDrawables) { - child.mutate(); + final int N = mDrawableContainerState.getChildCount(); + final Drawable[] drawables = mDrawableContainerState.getChildren(); + for (int i = 0; i < N; i++) { + drawables[i].mutate(); } mMutated = true; } |