diff options
author | Andrea Weikert <elubie@gmx.net> | 2009-07-12 17:06:52 +0400 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2009-07-12 17:06:52 +0400 |
commit | 5f8f2fc33a2f2fd363be16a36d14fa3b3f1ad78a (patch) | |
tree | 115e70af47ebb78ca0768a2b58dc3e9128484ba4 /source/blender/editors/space_file/filesel.c | |
parent | 78703a9ef8983ce513c1d428ba947dfbe1a58f97 (diff) |
2.5 filebrowser
* bugfix: parent on linux didn't account for first slash
* added some BLI_cleanup_dir to prevent weird directory names
* revert to old directory if user types bogus text.
Diffstat (limited to 'source/blender/editors/space_file/filesel.c')
-rw-r--r-- | source/blender/editors/space_file/filesel.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c index c81dab454f8..30712ea0b07 100644 --- a/source/blender/editors/space_file/filesel.c +++ b/source/blender/editors/space_file/filesel.c @@ -301,16 +301,20 @@ FileLayout* ED_fileselect_get_layout(struct SpaceFile *sfile, struct ARegion *ar void file_change_dir(struct SpaceFile *sfile) { - if (sfile->params && BLI_exists(sfile->params->dir)) { - filelist_setdir(sfile->files, sfile->params->dir); + if (sfile->params) { + if (BLI_exists(sfile->params->dir)) { + filelist_setdir(sfile->files, sfile->params->dir); - if(folderlist_clear_next(sfile)) - folderlist_free(sfile->folders_next); + if(folderlist_clear_next(sfile)) + folderlist_free(sfile->folders_next); - folderlist_pushdir(sfile->folders_prev, sfile->params->dir); + folderlist_pushdir(sfile->folders_prev, sfile->params->dir); - filelist_free(sfile->files); - sfile->params->active_file = -1; + filelist_free(sfile->files); + sfile->params->active_file = -1; + } else { + BLI_strncpy(sfile->params->dir, filelist_dir(sfile->files), FILE_MAX); + } } } |