diff options
author | Dmitrij D. Czarkoff <czarkoff@gmail.com> | 2016-02-21 14:57:32 +0100 |
---|---|---|
committer | Dmitrij D. Czarkoff <czarkoff@gmail.com> | 2016-02-21 14:57:32 +0100 |
commit | 24f8b8a2c4065a7ba99da62bb30830d8c87be699 (patch) | |
tree | 12ddb468b07a1df141ee39767bb62846fbadd342 /src | |
parent | 9cdab1b173af8a2fabe76d674f05faeef5319ac3 (diff) | |
download | imv-24f8b8a2c4065a7ba99da62bb30830d8c87be699.tar.gz |
Honour EXIF orientation tag
Diffstat (limited to 'src')
-rw-r--r-- | src/loader.c | 6 |
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); |