aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/em-format-html-display.c10
-rw-r--r--mail/em-popup.c8
2 files changed, 15 insertions, 3 deletions
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c
index d1c69fc3df..e9516100f0 100644
--- a/mail/em-format-html-display.c
+++ b/mail/em-format-html-display.c
@@ -2209,14 +2209,20 @@ efhd_bar_save_selected(EPopup *ep, EPopupItem *item, void *data)
EMFormatHTMLDisplay *efhd = (EMFormatHTMLDisplay *)data;
GSList *attachment_parts, *tmp;
GSList *parts = NULL;
+ GtkWidget *widget;
+ gpointer parent;
+
+ widget = efhd->priv->attachment_bar;
+ parent = gtk_widget_get_toplevel (widget);
+ parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
- attachment_parts = e_attachment_bar_get_selected(E_ATTACHMENT_BAR(efhd->priv->attachment_bar));
+ attachment_parts = e_attachment_bar_get_selected(E_ATTACHMENT_BAR(widget));
for (tmp = attachment_parts; tmp; tmp=tmp->next)
parts = g_slist_prepend(parts, ((EAttachment *)tmp->data)->body);
parts = g_slist_reverse(parts);
- em_utils_save_parts(efhd->priv->attachment_bar, _("Select folder to save selected attachments..."), parts);
+ em_utils_save_parts(parent, _("Select folder to save selected attachments..."), parts);
g_slist_free (parts);
g_slist_foreach(attachment_parts, (GFunc)g_object_unref, NULL);
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