diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-23 13:05:08 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-23 13:05:08 -0700 |
commit | 23c9238a22714cd520460a409ef426ef038aadda (patch) | |
tree | 2c1687d4d77af28002ab356d1cb688e19ed1e60d | |
parent | f279b8575c7ac32db87ca926002022ae072a5a9b (diff) | |
parent | 5aad4e99baf4dc0c31468e51cbe4ce738ee7d49e (diff) | |
download | android_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.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/ui/Spline.java | 10 |
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) { |