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-09-20 23:10:12 +0400
committerAndrea Weikert <elubie@gmx.net>2009-09-20 23:10:12 +0400
commit6d4fb84c4eeeeacca953906883a6f328fd9ffcee (patch)
treeff680eb21080a371458d227a31be14af43d163c3
parent85294c6d7e1fcb4bacf39c0ff8c310c5b5a9139f (diff)
2.5 filebrowser
* fix crash in autocomplete for very long paths * allow longer paths in directory button * added some TODO comments for G.lib
-rw-r--r--source/blender/editors/space_file/file_draw.c2
-rw-r--r--source/blender/editors/space_file/filesel.c5
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c4
3 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c
index 00024ffa961..46ed6987752 100644
--- a/source/blender/editors/space_file/file_draw.c
+++ b/source/blender/editors/space_file/file_draw.c
@@ -189,7 +189,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
if (available_w > 0) {
but = uiDefBut(block, TEX, B_FS_DIRNAME, "",
min_x, line1_y, line1_w, btn_h,
- params->dir, 0.0, (float)FILE_MAXDIR-1, 0, 0,
+ params->dir, 0.0, (float)FILE_MAX-1, 0, 0,
"File path.");
uiButSetCompleteFunc(but, autocomplete_directory, NULL);
uiDefBut(block, TEX, B_FS_FILENAME, "",
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index e9e09d8f60b..dd16a426899 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -417,13 +417,16 @@ void autocomplete_directory(struct bContext *C, char *str, void *arg_v)
struct direntry* file = filelist_file(sfile->files, i);
const char* dir = filelist_dir(sfile->files);
if (file && S_ISDIR(file->type)) {
- BLI_make_file_string(G.sce, tmp, dir, file->relname);
+ // BLI_make_file_string(G.sce, tmp, dir, file->relname);
+ BLI_join_dirfile(tmp, dir, file->relname);
autocomplete_do_name(autocpl,tmp);
}
}
autocomplete_end(autocpl, str);
if (BLI_exists(str)) {
BLI_add_slash(str);
+ } else {
+ BLI_make_exist(str);
}
}
}
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index a6fc575ce70..76c15043b89 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -943,7 +943,7 @@ static int wm_link_append_invoke(bContext *C, wmOperator *op, wmEvent *event)
return WM_operator_call(C, op);
}
else {
- /* XXX solve where to get last linked library from */
+ /* XXX TODO solve where to get last linked library from */
RNA_string_set(op->ptr, "path", G.lib);
WM_event_add_fileselect(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -1064,6 +1064,8 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
DAG_ids_flush_update(0);
BLO_blendhandle_close(bh);
+
+ /* XXX TODO: align G.lib with other directory storage (like last opened image etc...) */
BLI_strncpy(G.lib, dir, FILE_MAX);
WM_event_add_notifier(C, NC_WINDOW, NULL);