aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-popup.c')
-rw-r--r--mail/em-popup.c8
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