[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59778] trunk/blender/source/blender/ editors/render/render_internal.c: Fix #36449: switching between render slots during render would leave some tiles

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Sep 3 22:59:25 CEST 2013


Revision: 59778
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59778
Author:   blendix
Date:     2013-09-03 20:59:24 +0000 (Tue, 03 Sep 2013)
Log Message:
-----------
Fix #36449: switching between render slots during render would leave some tiles
black until the end of the render.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/render/render_internal.c

Modified: trunk/blender/source/blender/editors/render/render_internal.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_internal.c	2013-09-03 19:58:09 UTC (rev 59777)
+++ trunk/blender/source/blender/editors/render/render_internal.c	2013-09-03 20:59:24 UTC (rev 59778)
@@ -270,6 +270,7 @@
 	short anim, write_still;
 	Image *image;
 	ImageUser iuser;
+	bool image_outdated;
 	short *stop;
 	short *do_update;
 	float *progress;
@@ -409,9 +410,19 @@
 	void *lock;
 
 	/* only update if we are displaying the slot being rendered */
-	if (ima->render_slot != ima->last_render_slot)
+	if (ima->render_slot != ima->last_render_slot) {
+		rj->image_outdated = true;
 		return;
+	}
+	else if (rj->image_outdated) {
+		/* update entire render */
+		rj->image_outdated = false;
+		BKE_image_signal(ima, NULL, IMA_SIGNAL_COLORMANAGE);
+		*(rj->do_update) = TRUE;
+		return;
+	}
 
+	/* update part of render */
 	ibuf = BKE_image_acquire_ibuf(ima, &rj->iuser, &lock);
 	if (ibuf) {
 		image_buffer_rect_update(rj->scene, rr, ibuf, renrect);




More information about the Bf-blender-cvs mailing list