From 068ae263a05245aa487ffc99bb5e884412043cbc Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Fri, 6 Jul 2001 18:58:48 +0000 Subject: Don't free the psd here -- it will be freed on the "destroy" signal. 2001-07-06 Peter Williams * mail-callbacks.c (composer_postpone_cb): Don't free the psd here -- it will be freed on the "destroy" signal. * mail-folder-cache.c (maybe_update): Instead of an idle, use a very short timeout in hopes of reducing the number of redundant updates. * mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the cache if we successfully got it. svn path=/trunk/; revision=10852 --- mail/ChangeLog | 11 +++++++++++ mail/mail-callbacks.c | 7 +++---- mail/mail-folder-cache.c | 2 +- mail/mail-tools.c | 6 +++--- 4 files changed, 18 insertions(+), 8 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index d77c95b870..40b7feeecf 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,14 @@ +2001-07-06 Peter Williams + + * mail-callbacks.c (composer_postpone_cb): Don't free the psd here -- + it will be freed on the "destroy" signal. + + * mail-folder-cache.c (maybe_update): Instead of an idle, use a very + short timeout in hopes of reducing the number of redundant updates. + + * mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the + cache if we successfully got it. + 2001-07-06 Jason Leach * mail-callbacks.c (delete_msg): Select the very next message diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 34ea9e4560..bff58b5bec 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -450,10 +450,8 @@ composer_postpone_cb (EMsgComposer *composer, gpointer data) mail_append_mail (outbox_folder, message, info, append_mail_cleanup, NULL); camel_object_unref (CAMEL_OBJECT (message)); - if (psd) { + if (psd) camel_folder_set_message_flags (psd->folder, psd->uid, psd->flags, psd->flags); - free_psd (NULL, psd); - } gtk_widget_destroy (GTK_WIDGET (composer)); } @@ -494,7 +492,7 @@ compose_msg (GtkWidget *widget, gpointer user_data) GTK_SIGNAL_FUNC (composer_send_cb), NULL); gtk_signal_connect (GTK_OBJECT (composer), "postpone", GTK_SIGNAL_FUNC (composer_postpone_cb), NULL); - + gtk_widget_show (composer); } @@ -1299,6 +1297,7 @@ do_edit_messages(CamelFolder *folder, GPtrArray *uids, GPtrArray *messages, void composer_send_cb, NULL); gtk_signal_connect (GTK_OBJECT (composer), "postpone", composer_postpone_cb, NULL); + gtk_widget_show (GTK_WIDGET (composer)); } } diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index 14e7015df6..d00f3c02d9 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -326,7 +326,7 @@ maybe_update (mail_folder_info *mfi) return; mfi->flags |= MAIL_FIF_UPDATE_QUEUED; - g_idle_add (update_idle, mfi); + g_timeout_add (100, update_idle, mfi); } static void diff --git a/mail/mail-tools.c b/mail/mail-tools.c index 8ca30bced8..cf140f7643 100644 --- a/mail/mail-tools.c +++ b/mail/mail-tools.c @@ -302,10 +302,10 @@ mail_tool_uri_to_folder (const char *uri, CamelException *ex) camel_object_unref (CAMEL_OBJECT (folder)); folder = NULL; } - } - camel_url_free (url); + } else + mail_folder_cache_note_folder (uri, folder); - mail_folder_cache_note_folder (uri, folder); + camel_url_free (url); return folder; } -- cgit v1.2.3