evince r2972 - in trunk: . shell
- From: carlosgc svn gnome org
- To: svn-commits-list gnome org
- Subject: evince r2972 - in trunk: . shell
- Date: Wed, 19 Mar 2008 16:24:50 +0000 (GMT)
Author: carlosgc
Date: Wed Mar 19 16:24:50 2008
New Revision: 2972
URL: http://svn.gnome.org/viewvc/evince?rev=2972&view=rev
Log:
2008-03-19 Carlos Garcia Campos <carlosgc gnome org>
* shell/ev-window.c: (image_save_dialog_response_cb):
Do not append the extension to filename when saving an image
if the filename alredy contains the extension. Fixes bug #523069.
Modified:
trunk/ChangeLog
trunk/shell/ev-window.c
Modified: trunk/shell/ev-window.c
==============================================================================
--- trunk/shell/ev-window.c (original)
+++ trunk/shell/ev-window.c Wed Mar 19 16:24:50 2008
@@ -4754,7 +4754,6 @@
GError *error = NULL;
GdkPixbuf *pixbuf;
gchar *uri;
- gchar *uri_extension;
gchar **extensions;
gchar *filename;
gchar *file_format;
@@ -4785,27 +4784,31 @@
}
extensions = gdk_pixbuf_format_get_extensions (format);
- uri_extension = g_strconcat (uri, ".", extensions[0], NULL);
+ if (strcmp (extensions[0], uri + strlen (uri) - strlen (extensions[0])) != 0) {
+ gchar *uri_extension;
+
+ uri_extension = g_strconcat (uri, ".", extensions[0], NULL);
+ target_file = g_file_new_for_uri (uri_extension);
+ g_free (uri_extension);
+ } else {
+ target_file = g_file_new_for_uri (uri);
+ }
g_strfreev(extensions);
- file_format = gdk_pixbuf_format_get_name (format);
+ g_free (uri);
- target_file = g_file_new_for_uri (uri_extension);
is_native = g_file_is_native (target_file);
-
if (is_native) {
filename = g_file_get_path (target_file);
} else {
filename = ev_tmp_filename ("saveimage");
}
-
- g_free (uri);
- g_free (uri_extension);
ev_document_doc_mutex_lock ();
pixbuf = ev_document_images_get_image (EV_DOCUMENT_IMAGES (ev_window->priv->document),
ev_window->priv->image);
ev_document_doc_mutex_unlock ();
-
+
+ file_format = gdk_pixbuf_format_get_name (format);
gdk_pixbuf_save (pixbuf, filename, file_format, &error, NULL);
g_free (file_format);
g_object_unref (pixbuf);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]