[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36010] trunk/blender/source/blender/ editors/space_file/fsmenu.c: == filebrowser ==

Andrea Weikert elubie at gmx.net
Mon Apr 4 22:32:39 CEST 2011


Revision: 36010
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36010
Author:   elubie
Date:     2011-04-04 20:32:39 +0000 (Mon, 04 Apr 2011)
Log Message:
-----------
== 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.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_file/fsmenu.c

Modified: trunk/blender/source/blender/editors/space_file/fsmenu.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/fsmenu.c	2011-04-04 20:31:01 UTC (rev 36009)
+++ trunk/blender/source/blender/editors/space_file/fsmenu.c	2011-04-04 20:32:39 UTC (rev 36010)
@@ -232,7 +232,7 @@
 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 @@
 		}
 	}
 	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);
 		}




More information about the Bf-blender-cvs mailing list