[Bf-blender-cvs] [abd5b4a] alembic_basic_io: Avoid tryijng to open files that do not exist.
Kévin Dietrich
noreply at git.blender.org
Sat Jun 11 14:59:35 CEST 2016
Commit: abd5b4a1c175afe81ad4a8a2dded279179f3e9bc
Author: Kévin Dietrich
Date: Sat Jun 11 12:41:59 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBabd5b4a1c175afe81ad4a8a2dded279179f3e9bc
Avoid tryijng to open files that do not exist.
===================================================================
M source/blender/blenkernel/BKE_cachefile.h
M source/blender/blenkernel/intern/cachefile.c
M source/blender/modifiers/intern/MOD_meshsequencecache.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_cachefile.h b/source/blender/blenkernel/BKE_cachefile.h
index 7218e27..c35a676 100644
--- a/source/blender/blenkernel/BKE_cachefile.h
+++ b/source/blender/blenkernel/BKE_cachefile.h
@@ -38,7 +38,7 @@ struct Main;
void *BKE_cachefile_add(struct Main *bmain, const char *name);
-void BKE_cachefile_filepath_get(struct Scene *scene,
+bool BKE_cachefile_filepath_get(struct Scene *scene,
struct CacheFile *cache_file,
char *r_filename);
diff --git a/source/blender/blenkernel/intern/cachefile.c b/source/blender/blenkernel/intern/cachefile.c
index 2d10318..0548264 100644
--- a/source/blender/blenkernel/intern/cachefile.c
+++ b/source/blender/blenkernel/intern/cachefile.c
@@ -51,7 +51,7 @@ void *BKE_cachefile_add(Main *bmain, const char *name)
return cache_file;
}
-void BKE_cachefile_filepath_get(Scene *scene, CacheFile *cache_file, char *r_filepath)
+bool BKE_cachefile_filepath_get(Scene *scene, CacheFile *cache_file, char *r_filepath)
{
const float frame = BKE_scene_frame_get(scene);
BLI_strncpy(r_filepath, cache_file->filepath, 1024);
@@ -64,11 +64,9 @@ void BKE_cachefile_filepath_get(Scene *scene, CacheFile *cache_file, char *r_fil
BLI_path_frame_strip(r_filepath, true, ext);
BLI_path_frame(r_filepath, frame, frame_len);
BLI_ensure_extension(r_filepath, 1024, ext);
-
- if (!BLI_exists(r_filepath)) {
- return;
- }
}
+
+ return BLI_exists(r_filepath);
}
float BKE_cachefile_time_offset(CacheFile *cache_file, float time)
diff --git a/source/blender/modifiers/intern/MOD_meshsequencecache.c b/source/blender/modifiers/intern/MOD_meshsequencecache.c
index 26c141d..4bfbc2f 100644
--- a/source/blender/modifiers/intern/MOD_meshsequencecache.c
+++ b/source/blender/modifiers/intern/MOD_meshsequencecache.c
@@ -75,7 +75,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
Scene *scene = md->scene;
char filepath[1024];
- BKE_cachefile_filepath_get(scene, mcmd->cache_file, filepath);
+ if (!BKE_cachefile_filepath_get(scene, mcmd->cache_file, filepath)) {
+ return dm;
+ }
const float frame = BKE_scene_frame_get(scene);
const float time = BKE_cachefile_time_offset(mcmd->cache_file, frame / FPS);
More information about the Bf-blender-cvs
mailing list