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-display.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'mail/mail-display.c') diff --git a/mail/mail-display.c b/mail/mail-display.c index e8d97034d8..5ecba7c306 100644 --- a/mail/mail-display.c +++ b/mail/mail-display.c @@ -255,7 +255,7 @@ save_data_cb (GtkWidget *widget, gpointer user_data) /* preserve the pathname */ dir = g_path_get_dirname (gtk_file_selection_get_filename (file_select)); - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); gconf_client_set_string (gconf, "/apps/evolution/mail/save_dir", dir, NULL); g_free (dir); @@ -328,7 +328,7 @@ save_part (CamelMimePart *part) camel_object_ref (part); home = getenv ("HOME"); - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); dir = gconf_client_get_string (gconf, "/apps/evolution/mail/save_dir", NULL); filename = make_safe_filename (dir ? dir : (home ? home : ""), part); g_free (dir); @@ -1248,7 +1248,7 @@ on_url_requested (GtkHTML *html, const char *url, GtkHTMLStream *handle, CamelMedium *medium; GByteArray *ba; - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); urls = g_datalist_get_data (md->data, "part_urls"); g_return_if_fail (urls != NULL); @@ -1720,7 +1720,7 @@ mail_text_write (MailDisplayStream *stream, MailDisplay *md, CamelMimePart *part GdkColor colour; char *buf; - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); flags = CAMEL_MIME_FILTER_TOHTML_CONVERT_NL | CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES; @@ -2059,7 +2059,7 @@ mail_display_init (GObject *object) g_object_ref (mail_display->invisible); gtk_object_sink ((GtkObject *) mail_display->invisible); - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); style = gconf_client_get_int (gconf, "/apps/evolution/mail/format/message_display_style", NULL); mail_display->display_style = style; @@ -2113,10 +2113,9 @@ mail_display_destroy (GtkObject *object) } if (mail_display->priv && mail_display->priv->display_notify_id) { - GConfClient *gconf = gconf_client_get_default (); + GConfClient *gconf = mail_config_get_gconf_client (); gconf_client_notify_remove (gconf, mail_display->priv->display_notify_id); mail_display->priv->display_notify_id = 0; - g_object_unref (gconf); } g_free (mail_display->priv); @@ -2710,14 +2709,13 @@ mail_display_new (void) gtk_selection_add_target (mail_display->invisible, clipboard_atom, GDK_SELECTION_TYPE_STRING, 1); - gconf = gconf_client_get_default (); + gconf = mail_config_get_gconf_client (); gtk_html_set_animate (GTK_HTML (html), gconf_client_get_bool (gconf, "/apps/evolution/mail/display/animate_images", NULL)); - + gconf_client_add_dir (gconf, "/apps/evolution/mail/display",GCONF_CLIENT_PRELOAD_NONE, NULL); mail_display->priv->display_notify_id = gconf_client_notify_add (gconf, "/apps/evolution/mail/display", display_notify, mail_display, NULL, NULL); - g_object_unref (gconf); - + mail_display->scroll = GTK_SCROLLED_WINDOW (scroll); mail_display->html = GTK_HTML (html); g_object_ref (mail_display->html); -- cgit v1.2.3