From: Carlos Garcia Campos Date: Tue, 4 Apr 2006 16:52:48 +0000 (+0000) Subject: Fix a crash when there isn't a default application to open an attachment X-Git-Tag: EVINCE_0_5_3~58 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=34f87f02fa13028c10ebf54be39f7d0045040505;p=evince.git Fix a crash when there isn't a default application to open an attachment 2006-04-03 Carlos Garcia Campos * backend/ev-attachment.c: Fix a crash when there isn't a default application to open an attachment --- diff --git a/ChangeLog b/ChangeLog index 9198e594..259bf04e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-04-03 Carlos Garcia Campos + + * backend/ev-attachment.c: + + Fix a crash when there isn't a default application to open an + attachment + 2006-04-03 Carlos Garcia Campos * backend/ev-attachment.[ch]: diff --git a/backend/ev-attachment.c b/backend/ev-attachment.c index 9d5aaffb..f0002f37 100644 --- a/backend/ev-attachment.c +++ b/backend/ev-attachment.c @@ -364,12 +364,24 @@ 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); + default_app = gnome_vfs_mime_get_default_application (attachment->priv->mime_type); + if (!default_app) { + g_set_error (error, + EV_ATTACHMENT_ERROR, + 0, + _("Couldn't open attachment '%s'"), + attachment->priv->name); + + return FALSE; + } + + attachment->priv->app = default_app; + if (attachment->priv->tmp_uri && g_file_test (attachment->priv->tmp_uri, G_FILE_TEST_EXISTS)) { retval = ev_attachment_launch_app (attachment, error);