static GdkPixbuf *child_create_thumbnail(const gchar *path)
{
- GdkPixbuf *image;
+ GdkPixbuf *image, *tmpbuf;
image = gdk_pixbuf_new_from_file(path, NULL);
+ tmpbuf = gdk_pixbuf_apply_embedded_orientation(image);
+ g_object_unref(G_OBJECT(image));
+ image = tmpbuf;
if (image)
{
struct stat info;
gchar *path;
int original_width, original_height;
+ const gchar* orientation;
GString *to;
char *md5, *swidth, *sheight, *ssize, *smtime, *uri;
mode_t old_mask;
thumb = a_thumbnails_scale_pixbuf(full, PIXMAP_THUMB_SIZE, PIXMAP_THUMB_SIZE);
+ orientation = gdk_pixbuf_get_option (full, "orientation");
+
original_width = gdk_pixbuf_get_width(full);
original_height = gdk_pixbuf_get_height(full);
"tEXt::Thumb::MTime", smtime,
"tEXt::Thumb::URI", uri,
"tEXt::Software", PROJECT,
+ "tEXt::Software::Orientation", orientation ? orientation : "0",
NULL);
umask(old_mask);