diff options
-rw-r--r-- | mail/em-format-html-display.c | 8 | ||||
-rw-r--r-- | mail/em-utils.c | 4 |
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); |