Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Weikert <elubie@gmx.net>2011-04-05 00:32:39 +0400
committerAndrea Weikert <elubie@gmx.net>2011-04-05 00:32:39 +0400
commit257c408f46582e2f46056d4dfcbd59a0353296e3 (patch)
tree2bb337a50b36d4c1a270a21b1c9a254ee62cd86e /source/blender/editors/space_file
parent83931775a1aaf742f46aeb8424a943bfc09f277f (diff)
== filebrowser ==
Small fix for recent folders in filebrowser, didn't save correctly when too many folders in the list (more than the currently allowed 10), now skips the oldest entries. Reported on IRC.
Diffstat (limited to 'source/blender/editors/space_file')
-rw-r--r--source/blender/editors/space_file/fsmenu.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c
index 217482326db..ffe1677a6a9 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -232,7 +232,7 @@ void fsmenu_remove_entry(struct FSMenu* fsmenu, FSMenuCategory category, int idx
void fsmenu_write_file(struct FSMenu* fsmenu, const char *filename)
{
FSMenuEntry *fsme= NULL;
- int count=FSMENU_RECENT_MAX;
+ int nskip= 0;
FILE *fp = fopen(filename, "w");
if (!fp) return;
@@ -244,7 +244,11 @@ void fsmenu_write_file(struct FSMenu* fsmenu, const char *filename)
}
}
fprintf(fp, "[Recent]\n");
- for (fsme= fsmenu_get_category(fsmenu, FS_CATEGORY_RECENT); fsme && count; fsme= fsme->next, --count) {
+ nskip = fsmenu_get_nentries(fsmenu, FS_CATEGORY_RECENT) - FSMENU_RECENT_MAX;
+ // skip first entries if list too long
+ for (fsme= fsmenu_get_category(fsmenu, FS_CATEGORY_RECENT); fsme && (nskip>0); fsme= fsme->next, --nskip)
+ ;
+ for (; fsme; fsme= fsme->next) {
if (fsme->path && fsme->save) {
fprintf(fp, "%s\n", fsme->path);
}