summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-04-10 17:27:33 -0700
committerRuben Brunk <rubenbrunk@google.com>2013-04-10 17:27:33 -0700
commitf37454e2ec94f83bc52177b9c986935006619b75 (patch)
treeb948a2ee4abf7d8779bd02d944bda43ecd3a5f8c
parent7f8e138c86f77e64df7d85ab5d51148418c56ca1 (diff)
downloadandroid_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.tar.gz
android_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.tar.bz2
android_packages_apps_Snap-f37454e2ec94f83bc52177b9c986935006619b75.zip
Fix downsampling check in crop.
Bug: 8586301 Change-Id: I4c5441f779122adb984368609cfea39a60190848
-rw-r--r--src/com/android/gallery3d/filtershow/crop/CropLoader.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/crop/CropLoader.java b/src/com/android/gallery3d/filtershow/crop/CropLoader.java
index d2a681f38..132d6c1dc 100644
--- a/src/com/android/gallery3d/filtershow/crop/CropLoader.java
+++ b/src/com/android/gallery3d/filtershow/crop/CropLoader.java
@@ -144,14 +144,16 @@ public abstract class CropLoader {
// Find best downsampling size
int imageSide = Math.max(w, h);
+ options.inSampleSize = 1;
if (imageSide > maxSideLength) {
int shifts = 1 + Integer.numberOfLeadingZeros(maxSideLength)
- Integer.numberOfLeadingZeros(imageSide);
- options.inSampleSize = 1 << shifts;
+ options.inSampleSize <<= shifts;
}
// Make sure sample size is reasonable
- if (0 >= (int) (Math.min(w, h) / options.inSampleSize)) {
+ if (options.inSampleSize <= 0 ||
+ 0 >= (int) (Math.min(w, h) / options.inSampleSize)) {
return null;
}