aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDmitrij D. Czarkoff <czarkoff@gmail.com>2016-02-21 14:57:32 +0100
committerDmitrij D. Czarkoff <czarkoff@gmail.com>2016-02-21 14:57:32 +0100
commit24f8b8a2c4065a7ba99da62bb30830d8c87be699 (patch)
tree12ddb468b07a1df141ee39767bb62846fbadd342 /src
parent9cdab1b173af8a2fabe76d674f05faeef5319ac3 (diff)
downloadimv-24f8b8a2c4065a7ba99da62bb30830d8c87be699.tar.gz
Honour EXIF orientation tag
Diffstat (limited to 'src')
-rw-r--r--src/loader.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/loader.c b/src/loader.c
index 35e7450..e7d0321 100644
--- a/src/loader.c
+++ b/src/loader.c
@@ -227,13 +227,15 @@ static void *bg_new_img(void *data)
} else {
/* Future TODO: If we load image line-by-line we could stop loading large
* ones before wasting much more time/memory on them. */
+
+ int flags = (fmt == FIF_JPEG) ? JPEG_EXIFROTATE : 0;
FIBITMAP *image;
if(from_stdin) {
pthread_mutex_lock(&ldr->lock);
- image = FreeImage_LoadFromMemory(fmt, ldr->fi_buffer, 0);
+ image = FreeImage_LoadFromMemory(fmt, ldr->fi_buffer, flags);
pthread_mutex_unlock(&ldr->lock);
} else {
- image = FreeImage_Load(fmt, path, 0);
+ image = FreeImage_Load(fmt, path, flags);
}
if(!image) {
error_occurred(ldr);