From e735e8fa8965d907fe91467482e0fb5d00364bc2 Mon Sep 17 00:00:00 2001 From: 2 Date: Sat, 3 Nov 2001 00:07:33 +0000 Subject: Disconnect from the message_list_built function so we dont do it every 2001-11-02 * message-browser.c (message_browser_message_list_built): Disconnect from the message_list_built function so we dont do it every time the list is rebuilt. * mail-callbacks.c (composer_send_cb): Disable autosave when we're sending mail. (composer_sent_cb): Re-enable autosave. * folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset any data we're using on the folderbrowser before doing anything 'cause things could vanish while we're doing it, and also ref/unref the folderbrowser so it doesn't vanish while w'ere working. * folder-browser.c (folder_browser_set_ui_component): If we are changing the ui comp, remove any pending timeouts. For #13719. svn path=/trunk/; revision=14575 --- mail/folder-browser-ui.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'mail/folder-browser-ui.c') diff --git a/mail/folder-browser-ui.c b/mail/folder-browser-ui.c index 5b137d95bc..4e673cb493 100644 --- a/mail/folder-browser-ui.c +++ b/mail/folder-browser-ui.c @@ -455,13 +455,20 @@ static gboolean fbui_sensitize_timeout (gpointer data) { FolderBrowser *fb = FOLDER_BROWSER (data); - GSList *iter; + GSList *iter, *list; struct sensitize_data *sd; int i; + list = fb->sensitize_changes; + fb->sensitize_changes = NULL; + iter = list; + fb->sensitize_timeout_id = 0; + + gtk_object_ref((GtkObject *)fb); + /*bonobo_ui_component_freeze (uic, NULL);*/ - for (iter = fb->sensitize_changes; iter; iter = iter->next) { + for (; iter; iter = iter->next) { sd = (struct sensitize_data *) iter->data; for (i=0;sd->items[i];i++) { if (fb->uicomp) @@ -470,9 +477,9 @@ fbui_sensitize_timeout (gpointer data) g_free(sd); } - g_slist_free (fb->sensitize_changes); - fb->sensitize_changes = NULL; - fb->sensitize_timeout_id = 0; + g_slist_free (list); + gtk_object_unref((GtkObject *)fb); + return FALSE; } -- cgit v1.2.3