From d120c67b62d3de62b293becb0d58bc9335df2d0a Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 11 Jun 2003 16:19:36 +0000 Subject: Use mail-config's gconf client. (target_date_new): Same. 2003-06-06 Jeffrey Stedfast * message-tag-followup.c (get_week_start_day): Use mail-config's gconf client. (target_date_new): Same. * message-list.c (message_list_set_folder): Use mail-config's gconf client. (mail_regen_list): Same. * mail-tools.c (mail_tool_quote_message): Use mail-config's gconf client. (mail_tool_forward_message): Same. * mail-session.c (main_get_filter_driver): Use mail-config's gconf client. * mail-preferences.c (mail_preferences_init): Use mail-config's gconf client. (mail_preferences_finalise): Don't unref the gconf client. * mail-format.c (write_headers): Use mail-config's gconf client. (mail_format_data_wrapper_write_to_stream): Same. (handle_text_plain): And here. * mail-display.c (save_data_cb): Use mail-config's gconf client. (save_part): Same. (on_url_requested): Here too. (mail_text_write): And here. (mail_display_init): And here. (mail_display_destroy): Here too. (mail_display_new): Again here. * mail-composer-prefs.c (sig_add_cb): Use mail-config's gconf client. (mail_composer_prefs_construct): Same. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use mail-config's gconf client. (ask_confirm_for_empty_subject): Same. (ask_confirm_for_only_bcc): Here too. (composer_get_message): And here. (create_msg_composer): Again here. (mail_generate_reply): Same. (forward): And here. (transfer_msg_done): " (delete_msg): " (confirm_expunge): " * component-factory.c (owner_unset_cb): Use mail-config's gconf client. * folder-browser-ui.c (folder_browser_ui_add_message): Use the mailer's gconf client. (folder_browser_ui_add_list): Same. (folder_browser_ui_add_global): Here too. * folder-browser.c (save_cursor_pos): Use the mailer's gconf client. (folder_browser_set_message_preview): Same. (folder_browser_toggle_preview): Here too. (folder_browser_toggle_threads): And here. (folder_browser_toggle_hide_deleted): Here as well. (folder_browser_set_message_display_style): And here. (fb_resize_cb): Here. (paned_realised): And here. (done_message_selected): And everywhere... * mail-account-gui.c (sig_add_new_signature): Use the mailer gconf client. * mail-config.c (mail_config_get_gconf_client): New function to return the global GConfClient used by the mailer. (mail_config_write_on_exit): On exit, free our objects and such. (mail_config_signature_run_script): Use config->gconf. 2003-06-04 Jeffrey Stedfast * mail-callbacks.c (invert_selection): Get rid of the if-focused code, that will always prevent the etree from getting the selection inverted because the menu item will always have focus at this time. Fix for bug #43972. it takes more than good relations to some of the major spirits in this branch of the multiverse to write apps that don't leak gconf-client refs, good coding is important, too. that... or a 100-megaton-kill-o-zap bomb svn path=/trunk/; revision=21410 --- mail/mail-config.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'mail/mail-config.c') diff --git a/mail/mail-config.c b/mail/mail-config.c index 45d44a5524..15b5ebd331 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -38,9 +38,6 @@ #include #include -#include -#include - #include #include @@ -653,9 +650,20 @@ mail_config_write_on_exit (void) /* now do cleanup */ mail_config_clear (); + + g_object_unref (config->gconf); + g_ptr_array_free (config->mime_types, TRUE); + + g_free (config); } /* Accessor functions */ +GConfClient * +mail_config_get_gconf_client (void) +{ + return config->gconf; +} + gboolean mail_config_is_configured (void) { @@ -1560,7 +1568,6 @@ mail_config_signature_run_script (gchar *script) CamelStreamMem *memstream; CamelMimeFilter *charenc; CamelStream *stream; - GConfClient *gconf; GByteArray *buffer; char *charset; char *content; @@ -1568,8 +1575,6 @@ mail_config_signature_run_script (gchar *script) /* parent process */ close (in_fds[1]); - gconf = gconf_client_get_default (); - stream = camel_stream_fs_new_with_fd (in_fds[0]); memstream = (CamelStreamMem *) camel_stream_mem_new (); @@ -1591,7 +1596,7 @@ mail_config_signature_run_script (gchar *script) filtered_stream = camel_stream_filter_new_with_stream (stream); camel_object_unref (stream); - charset = gconf_client_get_string (gconf, "/apps/evolution/mail/composer/charset", NULL); + charset = gconf_client_get_string (config->gconf, "/apps/evolution/mail/composer/charset", NULL); charenc = (CamelMimeFilter *) camel_mime_filter_charset_new_convert (charset, "utf-8"); camel_stream_filter_add (filtered_stream, charenc); camel_object_unref (charenc); -- cgit v1.2.3