diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 11 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 7 | ||||
-rw-r--r-- | mail/mail-folder-cache.c | 2 | ||||
-rw-r--r-- | mail/mail-tools.c | 6 |
4 files changed, 18 insertions, 8 deletions
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 <peterw@ximian.com> + + * 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 <jleach@ximian.com> * 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; } |