[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23376] trunk/blender/source/blender/ editors/space_file: 2.5 filebrowser

Andrea Weikert elubie at gmx.net
Sun Sep 20 20:26:02 CEST 2009


Revision: 23376
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23376
Author:   elubie
Date:     2009-09-20 20:26:02 +0200 (Sun, 20 Sep 2009)

Log Message:
-----------
2.5 filebrowser
more bugfixes:
* removed refreshing code at file_init again, causes issues when resizing
* free library in the filelist after use
* make sure directory exists when library file for append/link doesn't exist, so browsing can continue from valid dir.

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

Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c	2009-09-20 18:18:40 UTC (rev 23375)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c	2009-09-20 18:26:02 UTC (rev 23376)
@@ -518,6 +518,7 @@
 	sfile->op = NULL;
 	
 	if (sfile->files) {
+		filelist_freelib(sfile->files);
 		filelist_free(sfile->files);
 		MEM_freeN(sfile->files);
 		sfile->files= NULL;
@@ -606,6 +607,7 @@
 		fsmenu_write_file(fsmenu_get(), name);
 		WM_event_fileselect_event(C, op, EVT_FILESELECT_EXEC);
 
+		filelist_freelib(sfile->files);
 		filelist_free(sfile->files);
 		MEM_freeN(sfile->files);
 		sfile->files= NULL;

Modified: trunk/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.c	2009-09-20 18:18:40 UTC (rev 23375)
+++ trunk/blender/source/blender/editors/space_file/filelist.c	2009-09-20 18:26:02 UTC (rev 23376)
@@ -804,6 +804,8 @@
 	if(!filelist->libfiledata) {
 		int num;
 		struct direntry *file;
+
+		BLI_make_exist(filelist->dir);
 		filelist_read_dir(filelist);
 		file = filelist->filelist;
 		for(num=0; num<filelist->numfiles; num++, file++) {

Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c	2009-09-20 18:18:40 UTC (rev 23375)
+++ trunk/blender/source/blender/editors/space_file/space_file.c	2009-09-20 18:26:02 UTC (rev 23376)
@@ -156,16 +156,6 @@
 static void file_init(struct wmWindowManager *wm, ScrArea *sa)
 {
 	SpaceFile *sfile= (SpaceFile*)sa->spacedata.first;
-	if(sfile->params) {
-		MEM_freeN(sfile->params);
-		sfile->params = 0;
-		ED_fileselect_set_params(sfile);
-		if (sfile->files) {
-			filelist_free(sfile->files);
-			MEM_freeN(sfile->files);
-			sfile->files= NULL;
-		}
-	}
 	printf("file_init\n");
 }
 
@@ -213,6 +203,7 @@
 	if (filelist_empty(sfile->files))
 	{
 		filelist_readdir(sfile->files);
+		BLI_strncpy(params->dir, filelist_dir(sfile->files), FILE_MAX);
 	}
 	if(params->sort!=FILE_SORT_NONE) filelist_sort(sfile->files, params->sort);		
 	





More information about the Bf-blender-cvs mailing list