From 6be507cc66863a08f08d6c0675e5bc11e5a45d32 Mon Sep 17 00:00:00 2001 From: Phil Dubach Date: Mon, 29 Jun 2009 16:57:46 -0700 Subject: 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. --- graphics/java/android/graphics/drawable/DrawableContainer.java | 6 ++++-- 1 file 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; } -- cgit v1.1