X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fev-attachment.c;h=10982676644b615db56eb46d913e236670ed144d;hb=4dbb42e6c42e5e1982fee1c72300276a867a408e;hp=9d5aaffbe398d9b150d7f079a0a674df8c835a4e;hpb=d89b1cb89ef2d589befbe7a7f0c9732ff72ecc7b;p=evince.git diff --git a/backend/ev-attachment.c b/backend/ev-attachment.c index 9d5aaffb..10982676 100644 --- a/backend/ev-attachment.c +++ b/backend/ev-attachment.c @@ -300,7 +300,7 @@ ev_attachment_save (EvAttachment *attachment, g_set_error (error, EV_ATTACHMENT_ERROR, (gint) result, - _("Couldn't save attachment '%s': %s"), + _("Couldn't save attachment “%s”: %s"), uri, gnome_vfs_result_to_string (result)); @@ -313,7 +313,7 @@ ev_attachment_save (EvAttachment *attachment, g_set_error (error, EV_ATTACHMENT_ERROR, (gint) result, - _("Couldn't save attachment '%s': %s"), + _("Couldn't save attachment “%s”: %s"), uri, gnome_vfs_result_to_string (result)); @@ -345,7 +345,7 @@ ev_attachment_launch_app (EvAttachment *attachment, g_set_error (error, EV_ATTACHMENT_ERROR, (gint) result, - _("Couldn't open attachment '%s': %s"), + _("Couldn't open attachment “%s”: %s"), attachment->priv->name, gnome_vfs_result_to_string (result)); @@ -364,11 +364,25 @@ ev_attachment_open (EvAttachment *attachment, GError **error) { - gboolean retval = FALSE; + gboolean retval = FALSE; + GnomeVFSMimeApplication *default_app = NULL; - if (!attachment->priv->app) - attachment->priv->app = - gnome_vfs_mime_get_default_application (attachment->priv->mime_type); + g_return_val_if_fail (EV_IS_ATTACHMENT (attachment), FALSE); + + if (!attachment->priv->app) { + default_app = gnome_vfs_mime_get_default_application (attachment->priv->mime_type); + attachment->priv->app = default_app; + } + + if (!attachment->priv->app) { + g_set_error (error, + EV_ATTACHMENT_ERROR, + 0, + _("Couldn't open attachment “%s”"), + attachment->priv->name); + + return FALSE; + } if (attachment->priv->tmp_uri && g_file_test (attachment->priv->tmp_uri, G_FILE_TEST_EXISTS)) {