Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
libgexiv2
get_orientation-Fix-abort-on-Minolta-meta-data....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File get_orientation-Fix-abort-on-Minolta-meta-data.patch of Package libgexiv2
From 2860755db106c9484ee7ad5fb4d90a7291e05641 Mon Sep 17 00:00:00 2001 From: Jens Georg <mail@jensge.org> Date: Sun, 18 Dec 2016 17:02:42 +0100 Subject: [PATCH] get_orientation: Fix abort on Minolta meta-data Properly handle rotation value 72 (not rotated) https://bugzilla.redhat.com/show_bug.cgi?id=1401706 Signed-off-by: Jens Georg <mail@jensge.org> https://bugzilla.gnome.org/show_bug.cgi?id=776233 --- gexiv2/gexiv2-metadata.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gexiv2/gexiv2-metadata.cpp b/gexiv2/gexiv2-metadata.cpp index cb89a52..13d685d 100644 --- a/gexiv2/gexiv2-metadata.cpp +++ b/gexiv2/gexiv2-metadata.cpp @@ -399,26 +399,31 @@ GExiv2Orientation gexiv2_metadata_get_orientation (GExiv2Metadata *self) { // Because some camera set a wrong standard exif orientation tag, // We need to check makernote tags first! if (gexiv2_metadata_has_exif_tag(self, "Exif.MinoltaCs7D.Rotation")) { - switch (gexiv2_metadata_get_exif_tag_long(self, "Exif.MinoltaCs7D.Rotation")) { + long orientation = gexiv2_metadata_get_exif_tag_long(self, "Exif.MinoltaCs7D.Rotation"); + switch (orientation) { case 76: return GEXIV2_ORIENTATION_ROT_90; - case 82: return GEXIV2_ORIENTATION_ROT_270; + case 72: + return GEXIV2_ORIENTATION_UNSPECIFIED; default: - g_assert_not_reached(); + g_debug ("Unknown Minolta rotation value %ld, ignoring", orientation); } } - + if (gexiv2_metadata_has_exif_tag(self, "Exif.MinoltaCs5D.Rotation")) { - switch (gexiv2_metadata_get_exif_tag_long(self, "Exif.MinoltaCs5D.Rotation")) { + long orientation = gexiv2_metadata_get_exif_tag_long(self, "Exif.MinoltaCs5D.Rotation"); + switch (orientation) { case 76: return GEXIV2_ORIENTATION_ROT_90; case 82: return GEXIV2_ORIENTATION_ROT_270; + case 72: + return GEXIV2_ORIENTATION_UNSPECIFIED; default: - g_assert_not_reached(); + g_debug ("Unknown Minolta rotation value %ld, ignoring", orientation); } } -- 2.9.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor