Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Weikert <elubie@gmx.net>2009-01-07 01:48:58 +0300
committerAndrea Weikert <elubie@gmx.net>2009-01-07 01:48:58 +0300
commit4ef6bb555931d9794c05fa23b05c57372e8aae64 (patch)
tree868d568338b0dd2b5129c9d4ff7f19f19a41a7ed /source/blender/editors/space_file/filesel.c
parentcd6a9198d0244f3a661f91373e0bbcb23c250c3e (diff)
2.5 filebrowser
fixes for crashes that seem to have been introduced by changes in context handling. TODO: initialization for windowtype pupmenu if a previous SpaceFile was there.
Diffstat (limited to 'source/blender/editors/space_file/filesel.c')
-rw-r--r--source/blender/editors/space_file/filesel.c38
1 files changed, 3 insertions, 35 deletions
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 404fddd9d48..d1cfdb07c39 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -76,36 +76,14 @@
#include "filelist.h"
-FileSelectParams* ED_fileselect_get_params(const struct bContext *C)
-{
- SpaceLink *sl= CTX_wm_space_data(C);
- SpaceFile *sfile;
- FileSelectParams *params = 0;
-
- if (sl->spacetype == SPACE_FILE) {
- sfile= (SpaceFile*)sl;
- params = sfile->params;
- }
- return params;
-}
-
-short ED_fileselect_set_params(const struct bContext *C, int type, const char *title, const char *path,
+short ED_fileselect_set_params(FileSelectParams *params, int type, const char *title, const char *path,
short flag, short display, short filter)
{
char name[FILE_MAX], dir[FILE_MAX], file[FILE_MAX];
- SpaceLink *sl= CTX_wm_space_data(C);
- SpaceFile *sfile;
- FileSelectParams *params;
- if (sl->spacetype != SPACE_FILE) {
+ if (!params) {
return 0;
}
- sfile= (SpaceFile*)sl;
-
- if (!sfile->params) {
- sfile->params = MEM_callocN(sizeof(FileSelectParams), "fileselparams");
- }
- params = sfile->params;
params->type = type;
params->flag = flag;
@@ -129,17 +107,7 @@ short ED_fileselect_set_params(const struct bContext *C, int type, const char *t
BLI_split_dirfile(name, dir, file);
BLI_strncpy(params->file, file, sizeof(params->file));
BLI_strncpy(params->dir, dir, sizeof(params->dir));
- BLI_make_file_string(G.sce, params->dir, dir, ""); /* XXX needed ? - also solve G.sce */
-
- filelist_settype(sfile->files, type);
- filelist_setdir(sfile->files, params->dir);
- BLI_cleanup_dir(G.sce, params->dir); /* XXX solve G.sce */
-
- /* free: filelist and libfiledata became incorrect */
- if (sfile->files) {
- filelist_free(sfile->files);
- filelist_freelib(sfile->files);
- }
+ BLI_make_file_string(G.sce, params->dir, dir, ""); /* XXX needed ? - also solve G.sce */
}
break;
}