Index: libeog/eog-config-keys.h
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-config-keys.h,v
retrieving revision 1.4
diff -r1.4 eog-config-keys.h
9a10
> #define EOG_CONF_VIEW_AUTOROTATE             "/apps/eog/view/autorotate"
Index: libeog/eog-image.c
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-image.c,v
retrieving revision 1.55
diff -r1.55 eog-image.c
1984a1985,2013
> void
> eog_image_autorotate (EogImage *img)
> {
>   EogImagePrivate *priv = NULL;
>   
> 	g_return_if_fail (EOG_IS_IMAGE (img));
> 	
> 	priv = img->priv;
> 	  
> #if HAVE_EXIF
>   if (priv->exif != NULL)
>     {
> 	    char b[32];
> 	    ExifEntry *exentry = 
> 	              exif_data_get_entry (priv->exif, EXIF_TAG_ORIENTATION);
> 	    const gchar *orientation = exif_entry_get_value (exentry, b, sizeof(b));
> 	    if (orientation != NULL)
> 		    {
> 		      /* "top - left" is normal orientation or upside down
> 		       * (at least on my camera) but seems we can't differentiate
> 		       */
> 		      if (g_utf8_collate (orientation, "right - top") == 0)
> 		        eog_image_transform (img, eog_transform_rotate_new (90), NULL);
> 		      else if (g_utf8_collate (orientation, "left - bottom") == 0)
> 		        eog_image_transform (img, eog_transform_rotate_new (270), NULL);
> 		    }
> 		}
> #endif /* HAVE_EXIF */
> }
Index: libeog/eog-image.h
===================================================================
RCS file: /cvs/gnome/eog/libeog/eog-image.h,v
retrieving revision 1.25
diff -r1.25 eog-image.h
130a131
> void                eog_image_autorotate                      (EogImage *img);
Index: shell/eog-window.c
===================================================================
RCS file: /cvs/gnome/eog/shell/eog-window.c,v
retrieving revision 1.149
diff -r1.149 eog-window.c
3640c3645,3654
< 
---
> #if HAVE_EXIF
> 		/* Correct orientation */
> 		
> 		if (gconf_client_get_bool (priv->client, EOG_CONF_VIEW_AUTOROTATE, NULL))
>       {
>     		for (i = 0; i < eog_image_list_length (model); i++) {
>     			eog_image_autorotate (eog_image_list_get_img_by_pos (model, i));
>         }
>       }
> #endif
