From 1398c04d264d340f136100f0d2af3e675358fb9d Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Thu, 14 Mar 2013 08:58:24 -0700 Subject: Fix for crash upon saving image Change-Id: I305626a61a07d2290e7d5600da4c26f2a82ab1c9 --- gallerycommon/src/com/android/gallery3d/exif/ExifOutputStream.java | 2 +- gallerycommon/src/com/android/gallery3d/exif/ExifTag.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'gallerycommon/src/com/android/gallery3d/exif') diff --git a/gallerycommon/src/com/android/gallery3d/exif/ExifOutputStream.java b/gallerycommon/src/com/android/gallery3d/exif/ExifOutputStream.java index 6ea655431..e5a5bf009 100644 --- a/gallerycommon/src/com/android/gallery3d/exif/ExifOutputStream.java +++ b/gallerycommon/src/com/android/gallery3d/exif/ExifOutputStream.java @@ -404,7 +404,7 @@ class ExifOutputStream extends FilterOutputStream { ifd1.removeTag(ExifInterface.getTrueTagKey(ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT)); ifd1.removeTag(ExifInterface .getTrueTagKey(ExifInterface.TAG_JPEG_INTERCHANGE_FORMAT_LENGTH)); - } else { + } else if (ifd1 != null) { // Get rid of offset and length tags if there is no thumbnail. ifd1.removeTag(ExifInterface.getTrueTagKey(ExifInterface.TAG_STRIP_OFFSETS)); ifd1.removeTag(ExifInterface.getTrueTagKey(ExifInterface.TAG_STRIP_BYTE_COUNTS)); diff --git a/gallerycommon/src/com/android/gallery3d/exif/ExifTag.java b/gallerycommon/src/com/android/gallery3d/exif/ExifTag.java index 0b31c4df5..24e7f5313 100644 --- a/gallerycommon/src/com/android/gallery3d/exif/ExifTag.java +++ b/gallerycommon/src/com/android/gallery3d/exif/ExifTag.java @@ -248,7 +248,9 @@ public class ExifTag { } long[] data = new long[value.length]; - System.arraycopy(value, 0, data, 0, value.length); + for (int i = 0; i < value.length; i++) { + data[i] = value[i]; + } mValue = data; mComponentCountActual = value.length; return true; -- cgit v1.2.3