[Bf-blender-cvs] [89c8341] blender-v2.72-release: Fix BI viewport render crash happening with zero render border area

Sergey Sharybin noreply at git.blender.org
Fri Oct 3 15:24:38 CEST 2014


Commit: 89c834143e0fabf21957dc0201761b0331c60d07
Author: Sergey Sharybin
Date:   Mon Sep 29 20:51:00 2014 +0600
Branches: blender-v2.72-release
https://developer.blender.org/rB89c834143e0fabf21957dc0201761b0331c60d07

Fix BI viewport render crash happening with zero render border area

This is better to be backported to the 2.72.

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

M	source/blender/render/intern/source/pipeline.c

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

diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 7e6d212..a4d4563 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -699,25 +699,27 @@ static void render_result_rescale(Render *re)
 		                               RR_USE_MEM,
 		                               RR_ALL_LAYERS);
 
-		dst_rectf = re->result->rectf;
-		if (dst_rectf == NULL) {
-			RenderLayer *rl;
-			rl = render_get_active_layer(re, re->result);
-			if (rl != NULL) {
-				dst_rectf = rl->rectf;
+		if (re->result != NULL) {
+			dst_rectf = re->result->rectf;
+			if (dst_rectf == NULL) {
+				RenderLayer *rl;
+				rl = render_get_active_layer(re, re->result);
+				if (rl != NULL) {
+					dst_rectf = rl->rectf;
+				}
 			}
-		}
 
-		scale_x = (float) result->rectx / re->result->rectx;
-		scale_y = (float) result->recty / re->result->recty;
-		for (x = 0; x < re->result->rectx; ++x) {
-			for (y = 0; y < re->result->recty; ++y) {
-				int src_x = x * scale_x,
-				    src_y = y * scale_y;
-				int dst_index = y * re->result->rectx + x,
-				    src_index = src_y * result->rectx + src_x;
-				copy_v4_v4(dst_rectf + dst_index * 4,
-				           src_rectf + src_index * 4);
+			scale_x = (float) result->rectx / re->result->rectx;
+			scale_y = (float) result->recty / re->result->recty;
+			for (x = 0; x < re->result->rectx; ++x) {
+				for (y = 0; y < re->result->recty; ++y) {
+					int src_x = x * scale_x,
+					    src_y = y * scale_y;
+					int dst_index = y * re->result->rectx + x,
+					    src_index = src_y * result->rectx + src_x;
+					copy_v4_v4(dst_rectf + dst_index * 4,
+					           src_rectf + src_index * 4);
+				}
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list