diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-01 10:26:55 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-01 10:26:55 +0400 |
commit | e3f03d72b6e0a24a2c87e94c68c5f6452ad91e94 (patch) | |
tree | 4afd7238aee332f7198d6ef9c4059bf7f103db48 /source/blender/blenlib/intern/bpath.c | |
parent | f3f3a42566810185f22752428931c4d7584a67be (diff) |
added path traversal flag - BPATH_TRAVERSE_SKIP_MULTIFILE,
so path manipulation functions dont run multiple times on the same path in the case of sequence strips where the one directory is used as the base for many images.
Diffstat (limited to 'source/blender/blenlib/intern/bpath.c')
-rw-r--r-- | source/blender/blenlib/intern/bpath.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/bpath.c b/source/blender/blenlib/intern/bpath.c index b7fe7ef5efd..259b25e67dd 100644 --- a/source/blender/blenlib/intern/bpath.c +++ b/source/blender/blenlib/intern/bpath.c @@ -499,6 +499,11 @@ void bpath_traverse_id(Main *bmain, ID *id, BPathVisitor visit_cb, const int fla int len= MEM_allocN_len(se) / sizeof(*se); int i; + if (flag & BPATH_TRAVERSE_SKIP_MULTIFILE) { + /* only operate on one path */ + len= MIN2(1, len); + } + for(i= 0; i < len; i++, se++) { rewrite_path_fixed_dirfile(seq->strip->dir, se->name, visit_cb, absbase, bpath_user_data); } |