From 19f4342b46cd388f29bfffa5757dce1e11c88dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Silv=C3=A8re=20Latchuri=C3=A9?= Date: Fri, 26 May 2017 13:24:36 +0200 Subject: [PATCH] compositor: Handle EXIF orientation for backgrounds Apply the embedded EXIF orientation when the background is loaded. https://bugzilla.gnome.org/show_bug.cgi?id=783125 --- src/compositor/meta-background-image.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/compositor/meta-background-image.c b/src/compositor/meta-background-image.c index 8ea6426bf..b06066422 100644 --- a/src/compositor/meta-background-image.c +++ b/src/compositor/meta-background-image.c @@ -155,7 +155,7 @@ file_loaded (GObject *source_object, CoglError *catch_error = NULL; GTask *task; CoglTexture *texture; - GdkPixbuf *pixbuf; + GdkPixbuf *pixbuf, *rotated; int width, height, row_stride; guchar *pixels; gboolean has_alpha; @@ -173,6 +173,13 @@ file_loaded (GObject *source_object, goto out; } + rotated = gdk_pixbuf_apply_embedded_orientation (pixbuf); + if (rotated != NULL) + { + g_object_unref (pixbuf); + pixbuf = rotated; + } + width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); row_stride = gdk_pixbuf_get_rowstride (pixbuf);