diff options
Diffstat (limited to 'mail/em-popup.c')
-rw-r--r-- | mail/em-popup.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mail/em-popup.c b/mail/em-popup.c index 38f3b1426b..84d49c845e 100644 --- a/mail/em-popup.c +++ b/mail/em-popup.c @@ -404,6 +404,8 @@ emp_part_popup_saveas(EPopup *ep, EPopupItem *item, void *data) { EPopupTarget *t = ep->target; CamelMimePart *part = NULL; + GtkWidget *widget; + gpointer parent; /* If it is of type EM_POPUP_TARGET_ATTACHMENTS, we can assume the length is one. */ if (t->type == EM_POPUP_TARGET_ATTACHMENTS) @@ -411,7 +413,11 @@ emp_part_popup_saveas(EPopup *ep, EPopupItem *item, void *data) else part = ((EMPopupTargetPart *) t)->part; - em_utils_save_part(ep->target->widget, _("Save As..."), part); + widget = ep->target->widget; + parent = gtk_widget_get_toplevel (widget); + parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL; + + em_utils_save_part (parent, _("Save As..."), part); } static void |