aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/folder-browser-factory.c3
-rw-r--r--mail/mail-ops.c11
-rw-r--r--mail/message-list.c3
4 files changed, 22 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 2ec50d0680..a4d29f7011 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,12 @@
+2000-10-19 Dan Winship <danw@helixcode.com>
+
+ * mail-ops.c: (do_fetch_mail): For an imap store, just refresh the
+ INBOX.
+
+ * folder-browser-factory.c (control_deactivate): Don't sync
+ non-existent folders.
+ * message-list.c (nuke_uids): Don't traverse non-existent trees.
+
2000-10-19 Ettore Perazzoli <ettore@helixcode.com>
* Makefile.am (glade_messages): New.
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 4733b835cd..e7b93fabc4 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -165,7 +165,8 @@ control_deactivate (BonoboControl *control,
bonobo_ui_component_rm (uic, "/", NULL);
bonobo_ui_component_unset_container (uic);
- mail_do_sync_folder (fb->folder);
+ if (fb->folder)
+ mail_do_sync_folder (fb->folder);
}
static void
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 44660ce797..59a6e0cde3 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -129,9 +129,16 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
FilterContext *fc;
FilterDriver *filter;
FILE *logfile = NULL;
+ CamelFolder *folder;
- /* If using IMAP, don't do anything... */
+ /* FIXME: This shouldn't be checking for "imap" specifically. */
if (!strncmp (input->source_url, "imap:", 5)) {
+ folder = mail_tool_get_inbox (input->source_url, ex);
+ if (folder) {
+ camel_folder_refresh_info (folder, ex);
+ camel_object_unref (CAMEL_OBJECT (folder));
+ }
+
data->empty = FALSE;
return;
}
@@ -173,7 +180,7 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
}
g_free (path);
} else {
- CamelFolder *folder = mail_tool_get_inbox (input->source_url, ex);
+ folder = mail_tool_get_inbox (input->source_url, ex);
if (folder) {
if (camel_folder_get_message_count (folder) > 0) {
diff --git a/mail/message-list.c b/mail/message-list.c
index b340efdb41..5dc2a5fde2 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1343,7 +1343,8 @@ nuke_uids (GtkObject *o)
{
ETreeModel *etm = E_TREE_MODEL (o);
- e_tree_model_node_traverse (etm, etm->root, nuke_uids_cb, NULL);
+ if (etm->root)
+ e_tree_model_node_traverse (etm, etm->root, nuke_uids_cb, NULL);
}
static void