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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to