+static GFile *
+create_file_from_uri_for_format (const gchar *uri,
+ GdkPixbufFormat *format)
+{
+ GFile *target_file;
+ gchar **extensions;
+ gchar *uri_extension;
+ gint i;
+
+ extensions = gdk_pixbuf_format_get_extensions (format);
+ for (i = 0; extensions[i]; i++) {
+ if (g_str_has_suffix (uri, extensions[i])) {
+ g_strfreev (extensions);
+ return g_file_new_for_uri (uri);
+ }
+ }
+
+ uri_extension = g_strconcat (uri, ".", extensions[0], NULL);
+ target_file = g_file_new_for_uri (uri_extension);
+ g_free (uri_extension);
+ g_strfreev (extensions);
+
+ return target_file;
+}