diff options
4 files changed, 13 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index c7e9cc68d..f46a0b781 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -709,6 +709,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL / (float) MasterImage.getImage().getOriginalBounds().width(); mBoundService.setHighresPreviewScaleFactor(highResPreviewScale); } + MasterImage.getImage().warnListeners(); } } @@ -796,6 +797,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL } LoadHighresBitmapTask highresLoad = new LoadHighresBitmapTask(); highresLoad.execute(); + MasterImage.getImage().warnListeners(); super.onPostExecute(result); } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java index 7fee03188..e027d01e8 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java @@ -255,6 +255,9 @@ public class ImageCrop extends ImageShow { @Override public void onDraw(Canvas canvas) { Bitmap bitmap = MasterImage.getImage().getFiltersOnlyImage(); + if (bitmap == null) { + MasterImage.getImage().invalidateFiltersOnly(); + } if (!mValidDraw || bitmap == null) { return; } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java index d7fea5f3b..a85f58de0 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java @@ -200,6 +200,7 @@ public class ImageStraighten extends ImageShow { MasterImage master = MasterImage.getImage(); Bitmap image = master.getFiltersOnlyImage(); if (image == null) { + MasterImage.getImage().invalidateFiltersOnly(); return; } GeometryMathUtils.initializeHolder(mDrawHolder, mLocalRep); diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 8d9d09e72..53ed0378e 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -137,6 +137,9 @@ public class MasterImage implements RenderingRequestCaller { } public Bitmap getOriginalBitmapHighres() { + if (mOriginalBitmapHighres == null) { + return mOriginalBitmapLarge; + } return mOriginalBitmapHighres; } @@ -345,6 +348,9 @@ public class MasterImage implements RenderingRequestCaller { } public Bitmap getHighresImage() { + if (mHighresBitmap == null) { + return getFilteredImage(); + } return mHighresBitmap; } @@ -489,6 +495,7 @@ public class MasterImage implements RenderingRequestCaller { public void invalidateFiltersOnly() { mFiltersOnlyPreset = null; + resetGeometryImages(false); invalidatePreview(); } |
