From 9ed9a99baddcb87eab366e4f939dc146f2db9401 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 31 Mar 2012 12:08:36 -0400 Subject: EMFormat: Add "session" as a constructor property. Pass it in instead of digging it out of EShellSettings. --- modules/mail/e-mail-attachment-handler.c | 3 ++- modules/mail/e-mail-shell-backend.c | 29 +++++++++++++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-attachment-handler.c b/modules/mail/e-mail-attachment-handler.c index 7e1b8fcddd..00f416c564 100644 --- a/modules/mail/e-mail-attachment-handler.c +++ b/modules/mail/e-mail-attachment-handler.c @@ -89,7 +89,8 @@ mail_attachment_handler_forward (GtkAction *action, style = e_shell_settings_get_int (shell_settings, property_name); em_utils_forward_message ( - priv->shell, CAMEL_MIME_MESSAGE (wrapper), style, NULL, NULL); + priv->shell, CAMEL_SESSION (priv->session), + CAMEL_MIME_MESSAGE (wrapper), style, NULL, NULL); g_list_foreach (selected, (GFunc) g_object_unref, NULL); g_list_free (selected); diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index a30c0240de..f30d8e387d 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -844,7 +844,7 @@ message_parsed_cb (GObject *source_object, GObject *preview = user_data; EMailDisplay *display; - display = g_object_get_data (preview, "mbox-imp-display"); + display = g_object_get_data (preview, "mbox-imp-display"); e_mail_display_set_formatter (display, formatter); e_mail_display_load (display, EM_FORMAT (formatter)->uri_base); } @@ -860,10 +860,10 @@ mbox_create_preview_cb (GObject *preview, g_return_if_fail (preview_widget != NULL); display = g_object_new (E_TYPE_MAIL_DISPLAY, NULL); - g_object_set_data_full (preview, "mbox-imp-display", + g_object_set_data_full (preview, "mbox-imp-display", g_object_ref (display), g_object_unref); - *preview_widget = GTK_WIDGET (display); + *preview_widget = GTK_WIDGET (display); } static void @@ -873,7 +873,8 @@ mbox_fill_preview_cb (GObject *preview, EMailDisplay *display; EMFormat *formatter; GHashTable *formatters; - SoupSession *session; + SoupSession *soup_session; + EMailSession *mail_session; gchar *mail_uri; g_return_if_fail (preview != NULL); @@ -882,23 +883,31 @@ mbox_fill_preview_cb (GObject *preview, display = g_object_get_data (preview, "mbox-imp-display"); g_return_if_fail (display != NULL); - session = webkit_get_default_session (); - formatters = g_object_get_data (G_OBJECT (session), "formatters"); + soup_session = webkit_get_default_session (); + formatters = g_object_get_data (G_OBJECT (soup_session), "formatters"); if (!formatters) { formatters = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, NULL); - g_object_set_data (G_OBJECT (session), "formatters", formatters); + g_object_set_data ( + G_OBJECT (soup_session), "formatters", formatters); } mail_uri = em_format_build_mail_uri (NULL, msg->message_id, NULL, NULL); - formatter = EM_FORMAT (em_format_html_display_new ()); + mail_session = e_mail_session_new (); + + formatter = EM_FORMAT ( + em_format_html_display_new ( + CAMEL_SESSION (mail_session))); formatter->message_uid = g_strdup (msg->message_id); formatter->uri_base = g_strdup (mail_uri); /* Don't free the mail_uri!! */ g_hash_table_insert (formatters, mail_uri, formatter); - em_format_parse_async (formatter, msg, NULL, NULL, - message_parsed_cb, preview); + em_format_parse_async ( + formatter, msg, NULL, NULL, + message_parsed_cb, preview); + + g_object_unref (mail_session); } -- cgit v1.2.3