aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/mail-callbacks.c7
-rw-r--r--mail/mail-folder-cache.c2
-rw-r--r--mail/mail-tools.c6
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;
}