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

Andrea Weikert elubie at gmx.net
Sun Sep 13 10:08:50 CEST 2009


Revision: 23173
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23173
Author:   elubie
Date:     2009-09-13 10:08:50 +0200 (Sun, 13 Sep 2009)

Log Message:
-----------
2.5 filebrowser
Fix crash when loading old files with filebrowser UI
Partial Fix for invoking filebrowser via spacetype pupmenu: reset directory in filelist
Make paths relative in 'path' return when requested by 'relative_paths' property in operator

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_file/file_ops.c
    trunk/blender/source/blender/editors/space_file/filesel.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-13 08:07:15 UTC (rev 23172)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c	2009-09-13 08:08:50 UTC (rev 23173)
@@ -524,6 +524,10 @@
 		BLI_strncpy(name, sfile->params->dir, sizeof(name));
 		RNA_string_set(op->ptr, "directory", name);
 		strcat(name, sfile->params->file);
+
+		if ( RNA_boolean_get(op->ptr, "relative_paths") ) {
+			BLI_makestringcode(G.sce, name);
+		}
 		RNA_string_set(op->ptr, "path", name);
 		
 		/* some ops have multiple files to select */

Modified: trunk/blender/source/blender/editors/space_file/filesel.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filesel.c	2009-09-13 08:07:15 UTC (rev 23172)
+++ trunk/blender/source/blender/editors/space_file/filesel.c	2009-09-13 08:08:50 UTC (rev 23173)
@@ -117,6 +117,8 @@
 		BLI_strncpy(sfile->params->file, file, sizeof(sfile->params->file));
 		BLI_make_file_string(G.sce, sfile->params->dir, dir, ""); /* XXX needed ? - also solve G.sce */
 	}
+	
+	ED_fileselect_reset_params(sfile);
 
 	params = sfile->params;
 
@@ -173,13 +175,17 @@
 	}
 
 	/* new params, refresh file list */
-	if(sfile->files) filelist_free(sfile->files);
+	if(sfile->files) { 
+		filelist_free(sfile->files);
+		filelist_setdir(sfile->files, params->dir);
+	}
 
 	return 1;
 }
 
 void ED_fileselect_reset_params(SpaceFile *sfile)
 {
+	sfile->params->type = FILE_UNIX;
 	sfile->params->flag = 0;
 	sfile->params->title[0] = '\0';
 }

Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c	2009-09-13 08:07:15 UTC (rev 23172)
+++ trunk/blender/source/blender/editors/space_file/space_file.c	2009-09-13 08:08:50 UTC (rev 23173)
@@ -166,7 +166,8 @@
 	/* clear or remove stuff from old */
 	sfilen->op = NULL; /* file window doesn't own operators */
 
-	sfilen->files = filelist_new(sfileo->params->type);
+	if (sfileo->params)
+		sfilen->files = filelist_new(sfileo->params->type);
 	if(sfileo->folders_prev)
 		sfilen->folders_prev = MEM_dupallocN(sfileo->folders_prev);
 





More information about the Bf-blender-cvs mailing list