+2006-04-25 [paul] 2.1.1cvs33
+
+ * src/folder.c
+ * src/folder.h
+ * src/folderview.c
+ complete the fix of bug #912
+ Thanks to Colin
+
2006-04-25 [colin] 2.1.1cvs32
* src/news.c
( cvs diff -u -r 1.28.2.16 -r 1.28.2.17 src/addrindex.c; cvs diff -u -r 1.8.2.11 -r 1.8.2.12 src/editldap.c; cvs diff -u -r 1.10.2.6 -r 1.10.2.7 src/editldap_basedn.c; cvs diff -u -r 1.3.2.2 -r 1.3.2.3 src/editldap_basedn.h; cvs diff -u -r 1.2.2.4 -r 1.2.2.5 src/ldapctrl.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/ldapctrl.h; cvs diff -u -r 1.3.2.7 -r 1.3.2.8 src/ldapquery.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/ldaputil.c; cvs diff -u -r 1.1.4.2 -r 1.1.4.3 src/ldaputil.h; ) > 2.1.1cvs30.patchset
( cvs diff -u -r 1.382.2.267 -r 1.382.2.268 src/compose.c; ) > 2.1.1cvs31.patchset
( cvs diff -u -r 1.83.2.67 -r 1.83.2.68 src/mimeview.c; cvs diff -u -r 1.101.2.23 -r 1.101.2.24 src/news.c; cvs diff -u -r 1.395.2.193 -r 1.395.2.194 src/summaryview.c; cvs diff -u -r 1.68.2.22 -r 1.68.2.23 src/summaryview.h; ) > 2.1.1cvs32.patchset
+( cvs diff -u -r 1.213.2.89 -r 1.213.2.90 src/folder.c; cvs diff -u -r 1.87.2.26 -r 1.87.2.27 src/folder.h; cvs diff -u -r 1.207.2.96 -r 1.207.2.97 src/folderview.c; ) > 2.1.1cvs33.patchset
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=32
+EXTRA_VERSION=33
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
prefs_common.cache_max_mem_usage = 0;
prefs_common.cache_min_keep_time = 0;
- folder_clean_cache_memory();
+ folder_clean_cache_memory(NULL);
prefs_common.cache_max_mem_usage = old_cache_max_mem_usage;
prefs_common.cache_min_keep_time = old_cache_min_keep_time;
}
-void folder_clean_cache_memory(void)
+void folder_clean_cache_memory(FolderItem *protected_item)
{
gint memusage = 0;
listitem = folder_item_list;
while((listitem != NULL) && (memusage > (prefs_common.cache_max_mem_usage * 1024))) {
FolderItem *item = (FolderItem *)(listitem->data);
-
+ if (item == protected_item)
+ continue;
debug_print("Freeing cache memory for %s\n", item->path ? item->path : item->name);
memusage -= msgcache_get_memory_usage(item->cache);
folder_item_free_cache(item);
item->cache = msgcache_new();
}
- folder_clean_cache_memory();
+ folder_clean_cache_memory(item);
}
void folder_item_write_cache(FolderItem *item)
(GHashTable *pptable, const char *name);
void folder_item_restore_persist_prefs (FolderItem *item, GHashTable *pptable);
-void folder_clean_cache_memory (void);
+void folder_clean_cache_memory (FolderItem *protected_item);
void folder_clean_cache_memory_force (void);
void folder_item_write_cache (FolderItem *item);
void folder_item_set_default_flags (FolderItem *dest, MsgFlags *flags);
summary_set_prefs_from_folderitem(folderview->summaryview, item);
opened = summary_show(folderview->summaryview, item);
- folder_clean_cache_memory();
+ folder_clean_cache_memory(item);
if (!opened) {
gtkut_ctree_set_focus_row(ctree, folderview->opened);