Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--backend/tiff/tiff-document.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 581f564..179d4b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-19 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * backend/tiff/tiff-document.c: (tiff_document_render):
+
+ Handle document orientation in tiff backend. Fixes bug #548444.
+
2008-08-17 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-sidebar-thumbnails.c: (adjustment_changed_cb):
diff --git a/backend/tiff/tiff-document.c b/backend/tiff/tiff-document.c
index fc8f4aa..8b15b0c 100644
--- a/backend/tiff/tiff-document.c
+++ b/backend/tiff/tiff-document.c
@@ -215,6 +215,7 @@ tiff_document_render (EvDocument *document,
gint rowstride, bytes;
guchar *pixels = NULL;
guchar *p;
+ int orientation;
cairo_surface_t *surface;
cairo_surface_t *rotated_surface;
static const cairo_user_data_key_t key;
@@ -238,6 +239,10 @@ tiff_document_render (EvDocument *document,
return NULL;
}
+ if (! TIFFGetField (tiff_document->tiff, TIFFTAG_ORIENTATION, &orientation)) {
+ orientation = ORIENTATION_TOPLEFT;
+ }
+
tiff_document_get_resolution (tiff_document, &x_res, &y_res);
pop_handlers ();
@@ -274,7 +279,7 @@ tiff_document_render (EvDocument *document,
TIFFReadRGBAImageOriented (tiff_document->tiff,
width, height,
(uint32 *)pixels,
- ORIENTATION_TOPLEFT, 1);
+ orientation, 1);
pop_handlers ();
/* Convert the format returned by libtiff to