From: Carlos Garcia Campos Date: Sat, 16 Feb 2008 11:53:30 +0000 (+0000) Subject: Return a real uri instead of a filename when saving an image. Fixes images X-Git-Tag: EVINCE_2_22_0~43 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=411b128d9f6b829b1b3f35c89fe0fef595a2b913;p=evince.git Return a real uri instead of a filename when saving an image. Fixes images 2008-02-16 Carlos Garcia Campos * 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. svn path=/trunk/; revision=2917 --- diff --git a/ChangeLog b/ChangeLog index 9af08da9..a0fa0fc5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-02-16 Carlos Garcia Campos + + * 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. + 2008-02-16 Carlos Garcia Campos * backend/pdf/ev-poppler.cc: diff --git a/libdocument/ev-image.c b/libdocument/ev-image.c index 4276dd48..1fa6bfd6 100644 --- a/libdocument/ev-image.c +++ b/libdocument/ev-image.c @@ -46,7 +46,11 @@ ev_image_finalize (GObject *object) } 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 @@ ev_image_save_tmp (EvImage *image, 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 @@ ev_image_save_tmp (EvImage *image, 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; }