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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-31 20:09:36 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-31 20:12:26 +0300
commit92fa42f2ce08f090d251ef9fadd0e0b7128e32a5 (patch)
tree1deff7c416e3fde203470eafcfe223d367288bb7 /intern/cycles/blender/blender_session.cpp
parent78daa53e89e702a1382aa9bedc8bfeb2a6ca33be (diff)
Fix T60973: crash baking objects disabled for rendering.
Diffstat (limited to 'intern/cycles/blender/blender_session.cpp')
-rw-r--r--intern/cycles/blender/blender_session.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index 7373d091ab7..10170c9d0ba 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -692,10 +692,14 @@ void BlenderSession::bake(BL::Depsgraph& b_depsgraph_,
}
}
- int object = object_index;
+ /* Object might have been disabled for rendering or excluded in some
+ * other way, in that case Blender will report a warning afterwards. */
+ if (object_index != OBJECT_NONE) {
+ int object = object_index;
- bake_data = scene->bake_manager->init(object, tri_offset, num_pixels);
- populate_bake_data(bake_data, object_id, pixel_array, num_pixels);
+ bake_data = scene->bake_manager->init(object, tri_offset, num_pixels);
+ populate_bake_data(bake_data, object_id, pixel_array, num_pixels);
+ }
/* set number of samples */
session->tile_manager.set_samples(session_params.samples);
@@ -706,7 +710,7 @@ void BlenderSession::bake(BL::Depsgraph& b_depsgraph_,
}
/* Perform bake. Check cancel to avoid crash with incomplete scene data. */
- if(!session->progress.get_cancel()) {
+ if(!session->progress.get_cancel() && bake_data) {
scene->bake_manager->bake(scene->device, &scene->dscene, scene, session->progress, shader_type, bake_pass_filter, bake_data, result);
}