31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
Index: libeog/eog-image.c
|
|
===================================================================
|
|
--- libeog/eog-image.c.orig
|
|
+++ libeog/eog-image.c
|
|
@@ -356,7 +356,11 @@ update_exif_data (EogImage *image)
|
|
entry = exif_content_get_entry (priv->exif->ifd [EXIF_IFD_EXIF], EXIF_TAG_PIXEL_X_DIMENSION);
|
|
if (entry != NULL && (priv->width >= 0)) {
|
|
if (entry->format == EXIF_FORMAT_LONG)
|
|
- exif_set_long (entry->data, bo, priv->width);
|
|
+ if (entry->format == EXIF_FORMAT_LONG)
|
|
+ exif_set_long (entry->data, bo, priv->width);
|
|
+ if (entry->format == EXIF_FORMAT_SHORT)
|
|
+ exif_set_short (entry->data, bo, priv->width);
|
|
+ /* other number formats should not happen */
|
|
else if (entry->format == EXIF_FORMAT_SHORT)
|
|
exif_set_short (entry->data, bo, priv->width);
|
|
else
|
|
@@ -366,7 +370,11 @@ update_exif_data (EogImage *image)
|
|
entry = exif_content_get_entry (priv->exif->ifd [EXIF_IFD_EXIF], EXIF_TAG_PIXEL_Y_DIMENSION);
|
|
if (entry != NULL && (priv->height >= 0)) {
|
|
if (entry->format == EXIF_FORMAT_LONG)
|
|
- exif_set_long (entry->data, bo, priv->height);
|
|
+ if (entry->format == EXIF_FORMAT_LONG)
|
|
+ exif_set_long (entry->data, bo, priv->height);
|
|
+ if (entry->format == EXIF_FORMAT_SHORT)
|
|
+ exif_set_short (entry->data, bo, priv->height);
|
|
+ /* other number formats should not happen */
|
|
else if (entry->format == EXIF_FORMAT_SHORT)
|
|
exif_set_short (entry->data, bo, priv->height);
|
|
else
|