eog/eog-pixeldim.patch

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