[Bf-blender-cvs] [92fa42f2ce0] master: Fix T60973: crash baking objects disabled for rendering.

Brecht Van Lommel noreply at git.blender.org
Thu Jan 31 18:12:44 CET 2019


Commit: 92fa42f2ce08f090d251ef9fadd0e0b7128e32a5
Author: Brecht Van Lommel
Date:   Thu Jan 31 18:09:36 2019 +0100
Branches: master
https://developer.blender.org/rB92fa42f2ce08f090d251ef9fadd0e0b7128e32a5

Fix T60973: crash baking objects disabled for rendering.

===================================================================

M	intern/cycles/blender/blender_session.cpp

===================================================================

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



More information about the Bf-blender-cvs mailing list