summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2012-10-23 13:05:08 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-23 13:05:08 -0700
commit23c9238a22714cd520460a409ef426ef038aadda (patch)
tree2c1687d4d77af28002ab356d1cb688e19ed1e60d
parentf279b8575c7ac32db87ca926002022ae072a5a9b (diff)
parent5aad4e99baf4dc0c31468e51cbe4ce738ee7d49e (diff)
downloadandroid_packages_apps_Snap-23c9238a22714cd520460a409ef426ef038aadda.tar.gz
android_packages_apps_Snap-23c9238a22714cd520460a409ef426ef038aadda.tar.bz2
android_packages_apps_Snap-23c9238a22714cd520460a409ef426ef038aadda.zip
am 5d7e98f7: Fix another potential crash in Curves
* commit '5d7e98f781fbd450295850d00adfb50540d53b3f': Fix another potential crash in Curves
-rw-r--r--src/com/android/gallery3d/filtershow/ui/ImageCurves.java2
-rw-r--r--src/com/android/gallery3d/filtershow/ui/Spline.java10
2 files changed, 8 insertions, 4 deletions
diff --git a/src/com/android/gallery3d/filtershow/ui/ImageCurves.java b/src/com/android/gallery3d/filtershow/ui/ImageCurves.java
index 5b053dfd5..c4ca900e1 100644
--- a/src/com/android/gallery3d/filtershow/ui/ImageCurves.java
+++ b/src/com/android/gallery3d/filtershow/ui/ImageCurves.java
@@ -209,7 +209,7 @@ public class ImageCurves extends ImageSlave {
if (mCurrentControlPoint == null) {
if (pick == -1) {
mCurrentControlPoint = new ControlPoint(posX, posY);
- spline.addPoint(mCurrentControlPoint);
+ pick = spline.addPoint(mCurrentControlPoint);
mDidAddPoint = true;
} else {
mCurrentControlPoint = spline.getPoint(pick);
diff --git a/src/com/android/gallery3d/filtershow/ui/Spline.java b/src/com/android/gallery3d/filtershow/ui/Spline.java
index 95197280c..dd9aac1be 100644
--- a/src/com/android/gallery3d/filtershow/ui/Spline.java
+++ b/src/com/android/gallery3d/filtershow/ui/Spline.java
@@ -84,6 +84,9 @@ public class Spline {
}
public void movePoint(int pick, float x, float y) {
+ if (pick < 0 || pick > mPoints.size() - 1) {
+ return;
+ }
ControlPoint point = mPoints.elementAt(pick);
point.x = x;
point.y = y;
@@ -345,13 +348,14 @@ public class Spline {
return solution;
}
- public void addPoint(float x, float y) {
- addPoint(new ControlPoint(x, y));
+ public int addPoint(float x, float y) {
+ return addPoint(new ControlPoint(x, y));
}
- public void addPoint(ControlPoint v) {
+ public int addPoint(ControlPoint v) {
mPoints.add(v);
Collections.sort(mPoints);
+ return mPoints.indexOf(v);
}
public void deletePoint(int n) {