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:
authorLukas Tönne <lukas.toenne@gmail.com>2015-03-18 16:12:16 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2015-03-18 16:12:16 +0300
commit2392ee950504513bfebaa596298b9b01a52a17c0 (patch)
tree4d8a20ef24b1800df27fefd472abd2b3cd6bf624 /source/blender/editors
parent7c7d5645ca903b6ec013fae16709022733ce6b42 (diff)
Test for NULL archive pointer when writing as well.
This should not usually happen because the operator asks for permission to delete the file prior to writing, but should be checked nevertheless.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/io/io_cache_library.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/editors/io/io_cache_library.c b/source/blender/editors/io/io_cache_library.c
index 87fe9d7dbd2..b42f70caf77 100644
--- a/source/blender/editors/io/io_cache_library.c
+++ b/source/blender/editors/io/io_cache_library.c
@@ -284,15 +284,17 @@ static void cache_library_bake_startjob(void *customdata, short *stop, short *do
BKE_cache_archive_path(data->cachelib->filepath, (ID *)data->cachelib, data->cachelib->id.lib, filename, sizeof(filename));
data->archive = PTC_open_writer_archive(scene, filename);
- data->writer = PTC_writer_dupligroup(data->group->id.name, &data->eval_ctx, scene, data->group);
- PTC_writer_init(data->writer, data->archive);
-
- G.is_break = false;
-
- /* XXX where to get this from? */
- start_frame = scene->r.sfra;
- end_frame = scene->r.efra;
- PTC_bake(data->bmain, scene, &data->eval_ctx, data->writer, start_frame, end_frame, stop, do_update, progress);
+ if (data->archive) {
+ data->writer = PTC_writer_dupligroup(data->group->id.name, &data->eval_ctx, scene, data->group);
+ PTC_writer_init(data->writer, data->archive);
+
+ G.is_break = false;
+
+ /* XXX where to get this from? */
+ start_frame = scene->r.sfra;
+ end_frame = scene->r.efra;
+ PTC_bake(data->bmain, scene, &data->eval_ctx, data->writer, start_frame, end_frame, stop, do_update, progress);
+ }
*do_update = true;
*stop = 0;