X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fev-attachment.c;h=331473814f3a8cc95bcbe76c5bae0edf22cb6f0e;hb=874a53523a08189589452097624476c436e018fc;hp=9d5aaffbe398d9b150d7f079a0a674df8c835a4e;hpb=d89b1cb89ef2d589befbe7a7f0c9732ff72ecc7b;p=evince.git diff --git a/backend/ev-attachment.c b/backend/ev-attachment.c index 9d5aaffb..33147381 100644 --- a/backend/ev-attachment.c +++ b/backend/ev-attachment.c @@ -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)) {