aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/em-format-html-display.c8
-rw-r--r--mail/em-utils.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/mail/em-format-html-display.c b/mail/em-format-html-display.c
index 1bdbcbea0e..d1c69fc3df 100644
--- a/mail/em-format-html-display.c
+++ b/mail/em-format-html-display.c
@@ -2158,19 +2158,23 @@ attachments_save_all_clicked (GtkWidget *widget, EMFormatHTMLDisplay *efhd)
{
GSList *attachment_parts;
guint n_attachment_parts;
+ gpointer parent;
attachment_parts = e_attachment_bar_get_parts (
E_ATTACHMENT_BAR (efhd->priv->attachment_bar));
n_attachment_parts = g_slist_length (attachment_parts);
g_return_if_fail (n_attachment_parts > 0);
+ parent = gtk_widget_get_toplevel (widget);
+ parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
+
if (n_attachment_parts == 1)
em_utils_save_part (
- widget, _("Save attachment as"),
+ parent, _("Save attachment as"),
attachment_parts->data);
else
em_utils_save_parts (
- widget, _("Select folder to save all attachments"),
+ parent, _("Select folder to save all attachments"),
attachment_parts);
g_slist_free (attachment_parts);
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 23f6b0cfc4..e7c34310bc 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -398,7 +398,7 @@ em_utils_save_part (GtkWindow *parent, const char *prompt, CamelMimePart *part)
const gchar *utf8_filename;
gchar *uri = NULL, *filename;
- g_return_if_fail (GTK_IS_WINDOW (parent));
+ g_return_if_fail (parent == NULL || GTK_IS_WINDOW (parent));
utf8_filename = emu_save_get_filename_for_part (part);
filename = g_filename_from_utf8 (utf8_filename, -1, NULL, NULL, NULL);
@@ -515,6 +515,8 @@ em_utils_save_parts (GtkWindow *parent, const gchar *prompt, GSList *parts)
gchar *path_uri;
GSList *iter, *file_names, *iter_file;
+ g_return_if_fail (parent == NULL || GTK_IS_WINDOW (parent));
+
file_chooser = e_file_get_save_filesel (
parent, prompt, NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);