[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