+2006-10-05 [colin] 2.5.3cvs8
+
+ * src/folderview.c
+ Fix go to next * after preferences apply
+ * src/msgcache.c
+ Do the fd lock/unlock ourselves instead of
+ letting the libc do it at each write
+
2006-10-05 [colin] 2.5.3cvs7
* src/common/utils.c
( cvs diff -u -r 1.213.2.121 -r 1.213.2.122 src/folder.c; ) > 2.5.3cvs5.patchset
( cvs diff -u -r 1.36.2.82 -r 1.36.2.83 src/common/utils.c; ) > 2.5.3cvs6.patchset
( cvs diff -u -r 1.36.2.83 -r 1.36.2.84 src/common/utils.c; ) > 2.5.3cvs7.patchset
+( cvs diff -u -r 1.207.2.128 -r 1.207.2.129 src/folderview.c; cvs diff -u -r 1.16.2.44 -r 1.16.2.45 src/msgcache.c; ) > 2.5.3cvs8.patchset
item = gtk_ctree_node_get_row_data(ctree, row);
if (!item || item->no_select) {
END_TIMING();
+ folderview->open_folder = FALSE;
return;
}
GTK_CTREE(folderview->ctree), NULL, item);
folderview_select(folderview, item);
+ folderview->open_folder = FALSE;
folderview->selected = node;
}
guint32 idata; \
\
idata = (guint32)bswap_32(n); \
- if (fwrite(&idata, sizeof(idata), 1, fp) != 1) \
+ if (fwrite_unlocked(&idata, sizeof(idata), 1, fp) != 1) \
w_err = 1; \
wrote += 4; \
}
len = strlen(data); \
WRITE_CACHE_DATA_INT(len, fp); \
if (w_err == 0 && len > 0) { \
- if (fwrite(data, 1, len, fp) != len) \
+ if (fwrite_unlocked(data, 1, len, fp) != len) \
w_err = 1; \
wrote += len; \
} \
ftruncate(fileno(write_fps.cache_fp), write_fps.cache_size);
ftruncate(fileno(write_fps.mark_fp), write_fps.mark_size);
} else {
+ flockfile(write_fps.cache_fp);
+ flockfile(write_fps.mark_fp);
g_hash_table_foreach(cache->msgnum_table, msgcache_write_func, (gpointer)&write_fps);
+ funlockfile(write_fps.mark_fp);
+ funlockfile(write_fps.cache_fp);
}
fflush(write_fps.cache_fp);