Author: carlosgc
Date: Sat Feb 16 11:53:30 2008
New Revision: 2917
URL: http://svn.gnome.org/viewvc/evince?rev=2917&view=rev

Log:
2008-02-16  Carlos Garcia Campos  <[EMAIL PROTECTED]>
        * libdocument/ev-image.c: (ev_image_finalize),
        (ev_image_save_tmp):
        Return a real uri instead of a filename when saving an
        image. Fixes images drag an drop from evince to nautilus.


Modified:
   trunk/ChangeLog
   trunk/libdocument/ev-image.c

Modified: trunk/libdocument/ev-image.c
==============================================================================
--- trunk/libdocument/ev-image.c        (original)
+++ trunk/libdocument/ev-image.c        Sat Feb 16 11:53:30 2008
@@ -46,7 +46,11 @@
        }
 
        if (image->priv->tmp_uri) {
-               ev_tmp_filename_unlink (image->priv->tmp_uri);
+               gchar *filename;
+
+               filename = g_filename_from_uri (image->priv->tmp_uri, NULL, 
NULL);
+               ev_tmp_filename_unlink (filename);
+               g_free (filename);
                g_free (image->priv->tmp_uri);
                image->priv->tmp_uri = NULL;
        }
@@ -128,6 +132,7 @@
                   GdkPixbuf *pixbuf)
 {
        GError *error = NULL;
+       gchar  *filename;
        
        g_return_val_if_fail (EV_IS_IMAGE (image), NULL);
        g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL);
@@ -135,18 +140,21 @@
        if (image->priv->tmp_uri)
                return image->priv->tmp_uri;
 
-       image->priv->tmp_uri = ev_tmp_filename ("image");
-       gdk_pixbuf_save (pixbuf, image->priv->tmp_uri,
+       filename = ev_tmp_filename ("image");
+       gdk_pixbuf_save (pixbuf, filename,
                         "png", &error,
                         "compression", "3", NULL);
-       if (!error)
+       if (!error) {
+               image->priv->tmp_uri = g_filename_to_uri (filename, NULL, NULL);
+               g_free (filename);
+               
                return image->priv->tmp_uri;
+       }
 
        /* Erro saving image */
        g_warning (error->message);
        g_error_free (error);
-       g_free (image->priv->tmp_uri);
-       image->priv->tmp_uri = NULL;
+       g_free (filename);
 
        return NULL;
 }
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to