Prevent NPE when cloning gradients

Bug #10436856

Change-Id: I98cbce941a06842112b8caa3753a3fa32b227da9
This commit is contained in:
Romain Guy
2013-09-03 16:08:00 -07:00
parent 25ba1c8694
commit 9622adf6e8
3 changed files with 6 additions and 5 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);