aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/e-searching-tokenizer.c2
-rw-r--r--mail/folder-browser.c27
-rw-r--r--mail/folder-browser.h1
-rw-r--r--mail/mail-folder-cache.c5
5 files changed, 44 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index d9c68dd216..ae655c782c 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,14 @@
+2001-10-29 Christopher James Lahey <clahey@ximian.com>
+
+ * e-searching-tokenizer.c (search_info_set_match_size_increase):
+ Fixed a warning by #if 0ing out this function.
+
+ * folder-browser.c, folder-browser.h (on_selection_changed):
+ Update status bar in an idle call. Fixes Ximian bug #13929.
+
+ * mail-folder-cache.c (folder_renamed, store_folder_renamed):
+ Fixed some warnings here.
+
2001-10-29 Dan Winship <danw@ximian.com>
* folder-browser.c (folder_browser_copy): Fix the focus check.
diff --git a/mail/e-searching-tokenizer.c b/mail/e-searching-tokenizer.c
index b0a5ff0f63..602dd3858d 100644
--- a/mail/e-searching-tokenizer.c
+++ b/mail/e-searching-tokenizer.c
@@ -186,6 +186,7 @@ search_info_set_case_sensitivity (SearchInfo *si, gboolean flag)
si->case_sensitive = flag;
}
+#if 0
static void
search_info_set_match_size_increase (SearchInfo *si, gint incr)
{
@@ -194,6 +195,7 @@ search_info_set_match_size_increase (SearchInfo *si, gint incr)
si->match_size_incr = incr;
}
+#endif
static void
search_info_set_match_color (SearchInfo *si, const gchar *color)
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index fcd54e528a..ceb8532978 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -808,9 +808,34 @@ update_status_bar(FolderBrowser *fb)
GNOME_Evolution_ShellView_setFolderBarLabel(fb->shell_view, work->str, &ev);
CORBA_exception_free(&ev);
+ if (fb->update_status_bar_idle_id != 0) {
+ g_source_remove (fb->update_status_bar_idle_id);
+ fb->update_status_bar_idle_id = 0;
+ }
+
g_string_free(work, TRUE);
}
+static gboolean
+update_status_bar_idle_cb(gpointer data)
+{
+ FolderBrowser *fb = data;
+ if (!GTK_OBJECT_DESTROYED (fb))
+ update_status_bar (fb);
+ fb->update_status_bar_idle_id = 0;
+ gtk_object_unref (GTK_OBJECT (fb));
+ return FALSE;
+}
+
+static void
+update_status_bar_idle(FolderBrowser *fb)
+{
+ if (fb->update_status_bar_idle_id == 0) {
+ gtk_object_ref (GTK_OBJECT (fb));
+ fb->update_status_bar_idle_id = g_idle_add (update_status_bar_idle_cb, fb);
+ }
+}
+
static void main_folder_changed(CamelObject *o, void *event_data, void *data)
{
FolderBrowser *fb = data;
@@ -1768,7 +1793,7 @@ on_selection_changed (GtkObject *obj, gpointer user_data)
folder_browser_ui_set_selection_state (fb, state);
- update_status_bar(fb);
+ update_status_bar_idle(fb);
}
static void
diff --git a/mail/folder-browser.h b/mail/folder-browser.h
index b3d0b3f7af..848a312327 100644
--- a/mail/folder-browser.h
+++ b/mail/folder-browser.h
@@ -76,6 +76,7 @@ struct _FolderBrowser {
GSList *sensitize_changes;
GHashTable *sensitise_state; /* the last sent sensitise state, to avoid much bonobo overhead */
int sensitize_timeout_id;
+ int update_status_bar_idle_id;
/* View collection and the menu handler object */
GalViewCollection *view_collection;
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index 7f1a689922..a3abc13073 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -404,7 +404,10 @@ folder_renamed(CamelObject *o, gpointer event_data, gpointer user_data)
char *old = event_data;
d(printf("Folder renamed from '%s' to '%s'\n", old, folder->full_name));
+
mfi = mfi;
+ old = old;
+ folder = folder;
/* Dont do anything, do it from the store rename event? */
}
@@ -604,7 +607,7 @@ store_folder_renamed(CamelObject *o, void *event_data, void *data)
si = g_hash_table_lookup(stores, store);
if (si) {
GPtrArray *folders = g_ptr_array_new();
- CamelFolderInfo *fi, *top;
+ CamelFolderInfo *top;
int i;
/* Ok, so for some reason the folderinfo we have comes in all messed up from