diff options
author | Romain Guy <romainguy@google.com> | 2013-09-03 16:08:00 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2013-09-03 16:08:00 -0700 |
commit | 9622adf6e8028aebd57213371c4f2c6c26fc63e5 (patch) | |
tree | 9b2cca35eb3b335998bc4c88d5b9c35409b82598 /graphics/java | |
parent | 25ba1c86945a441428194d9ebcabbf31be75a45a (diff) | |
download | frameworks_base-9622adf6e8028aebd57213371c4f2c6c26fc63e5.zip frameworks_base-9622adf6e8028aebd57213371c4f2c6c26fc63e5.tar.gz frameworks_base-9622adf6e8028aebd57213371c4f2c6c26fc63e5.tar.bz2 |
Prevent NPE when cloning gradients
Bug #10436856
Change-Id: I98cbce941a06842112b8caa3753a3fa32b227da9
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/LinearGradient.java | 4 | ||||
-rw-r--r-- | graphics/java/android/graphics/RadialGradient.java | 4 | ||||
-rw-r--r-- | graphics/java/android/graphics/SweepGradient.java | 3 |
3 files changed, 6 insertions, 5 deletions
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); |