summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2013-09-03 16:08:00 -0700
committerRomain Guy <romainguy@google.com>2013-09-03 16:08:00 -0700
commit9622adf6e8028aebd57213371c4f2c6c26fc63e5 (patch)
tree9b2cca35eb3b335998bc4c88d5b9c35409b82598 /graphics
parent25ba1c86945a441428194d9ebcabbf31be75a45a (diff)
downloadframeworks_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')
-rw-r--r--graphics/java/android/graphics/LinearGradient.java4
-rw-r--r--graphics/java/android/graphics/RadialGradient.java4
-rw-r--r--graphics/java/android/graphics/SweepGradient.java3
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);