From 9622adf6e8028aebd57213371c4f2c6c26fc63e5 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 3 Sep 2013 16:08:00 -0700 Subject: Prevent NPE when cloning gradients Bug #10436856 Change-Id: I98cbce941a06842112b8caa3753a3fa32b227da9 --- graphics/java/android/graphics/LinearGradient.java | 4 ++-- graphics/java/android/graphics/RadialGradient.java | 4 ++-- graphics/java/android/graphics/SweepGradient.java | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) (limited to 'graphics') diff --git a/graphics/java/android/graphics/LinearGradient.java b/graphics/java/android/graphics/LinearGradient.java index 54cdcab..4c88de3 100644 --- a/graphics/java/android/graphics/LinearGradient.java +++ b/graphics/java/android/graphics/LinearGradient.java @@ -102,8 +102,8 @@ public class LinearGradient extends Shader { final LinearGradient copy; switch (mType) { case TYPE_COLORS_AND_POSITIONS: - copy = new LinearGradient(mX0, mY0, mX1, mY1, mColors.clone(), mPositions.clone(), - mTileMode); + copy = new LinearGradient(mX0, mY0, mX1, mY1, mColors.clone(), + mPositions != null ? mPositions.clone() : null, mTileMode); break; case TYPE_COLOR_START_AND_COLOR_END: copy = new LinearGradient(mX0, mY0, mX1, mY1, mColor0, mColor1, mTileMode); diff --git a/graphics/java/android/graphics/RadialGradient.java b/graphics/java/android/graphics/RadialGradient.java index 23244d8..f011e5c 100644 --- a/graphics/java/android/graphics/RadialGradient.java +++ b/graphics/java/android/graphics/RadialGradient.java @@ -103,8 +103,8 @@ public class RadialGradient extends Shader { final RadialGradient copy; switch (mType) { case TYPE_COLORS_AND_POSITIONS: - copy = new RadialGradient(mX, mY, mRadius, mColors.clone(), mPositions.clone(), - mTileMode); + copy = new RadialGradient(mX, mY, mRadius, mColors.clone(), + mPositions != null ? mPositions.clone() : null, mTileMode); break; case TYPE_COLOR_CENTER_AND_COLOR_EDGE: copy = new RadialGradient(mX, mY, mRadius, mColor0, mColor1, mTileMode); diff --git a/graphics/java/android/graphics/SweepGradient.java b/graphics/java/android/graphics/SweepGradient.java index 3010927..e9cda39 100644 --- a/graphics/java/android/graphics/SweepGradient.java +++ b/graphics/java/android/graphics/SweepGradient.java @@ -92,7 +92,8 @@ public class SweepGradient extends Shader { final SweepGradient copy; switch (mType) { case TYPE_COLORS_AND_POSITIONS: - copy = new SweepGradient(mCx, mCy, mColors.clone(), mPositions.clone()); + copy = new SweepGradient(mCx, mCy, mColors.clone(), + mPositions != null ? mPositions.clone() : null); break; case TYPE_COLOR_START_AND_COLOR_END: copy = new SweepGradient(mCx, mCy, mColor0, mColor1); -- cgit v1.1