[Bf-blender-cvs] [8c1b805] master: Freestyle: Partial fix for a crash with Save Buffers option enabled.

Tamito Kajiyama noreply at git.blender.org
Sat May 9 06:57:00 CEST 2015


Commit: 8c1b805f87209ae6282d77b213ed2527f2d7c207
Author: Tamito Kajiyama
Date:   Sat May 9 13:04:29 2015 +0900
Branches: master
https://developer.blender.org/rB8c1b805f87209ae6282d77b213ed2527f2d7c207

Freestyle: Partial fix for a crash with Save Buffers option enabled.

Prevents null pointer references in the case of the Save Buffers option
enabled.  This is a regression likely due to rBd5f1b9c22233.

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

M	source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp

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

diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index 291ed98..64c6bd3 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -493,12 +493,18 @@ void FRS_composite_result(Render *re, SceneRenderLayer *srl, Render *freestyle_r
 	rl = render_get_active_layer( freestyle_render, freestyle_render->result );
 	if (!rl) {
 		if (G.debug & G_DEBUG_FREESTYLE) {
-			cout << "No Freestyle result image to composite" << endl;
+			cout << "No source render layer to composite" << endl;
 		}
 		return;
 	}
 
-	src = RE_RenderLayerGetPass(rl, SCE_PASS_COMBINED, re->viewname);
+	src = RE_RenderLayerGetPass(rl, SCE_PASS_COMBINED, freestyle_render->viewname);
+	if (!src) {
+		if (G.debug & G_DEBUG_FREESTYLE) {
+			cout << "No source result image to composite" << endl;
+		}
+		return;
+	}
 #if 0
 	if (G.debug & G_DEBUG_FREESTYLE) {
 		cout << "src: " << rl->rectx << " x " << rl->recty << endl;
@@ -506,13 +512,19 @@ void FRS_composite_result(Render *re, SceneRenderLayer *srl, Render *freestyle_r
 #endif
 
 	rl = RE_GetRenderLayer(re->result, srl->name);
-	if (!rl || src == NULL) {
+	if (!rl) {
 		if (G.debug & G_DEBUG_FREESTYLE) {
-			cout << "No layer to composite to" << endl;
+			cout << "No destination render layer to composite to" << endl;
 		}
 		return;
 	}
 	dest = RE_RenderLayerGetPass(rl, SCE_PASS_COMBINED, re->viewname);
+	if (!dest) {
+		if (G.debug & G_DEBUG_FREESTYLE) {
+			cout << "No destination result image to composite to" << endl;
+		}
+		return;
+	}
 #if 0
 	if (G.debug & G_DEBUG_FREESTYLE) {
 		cout << "dest: " << rl->rectx << " x " << rl->recty << endl;




More information about the Bf-blender-cvs mailing list