[Bf-blender-cvs] [a224ee0] master: Fix missing render result release when alt-wheeling render pass menu

Sergey Sharybin noreply at git.blender.org
Sun Jan 24 21:29:27 CET 2016


Commit: a224ee00f5593bb4cce4beb3803eddfc05e82a6a
Author: Sergey Sharybin
Date:   Mon Jan 25 01:23:02 2016 +0500
Branches: master
https://developer.blender.org/rBa224ee00f5593bb4cce4beb3803eddfc05e82a6a

Fix missing render result release when alt-wheeling render pass menu

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

M	source/blender/editors/space_image/image_buttons.c

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

diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index 4c124db..f221526 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -597,6 +597,7 @@ static bool ui_imageuser_pass_menu_step(bContext *C, int direction, void *rnd_pt
 
 	rr = BKE_image_acquire_renderresult(scene, image);
 	if (UNLIKELY(rr == NULL)) {
+		BKE_image_release_renderresult(scene, image);
 		return false;
 	}
 
@@ -606,11 +607,13 @@ static bool ui_imageuser_pass_menu_step(bContext *C, int direction, void *rnd_pt
 
 	rl = BLI_findlink(&rr->layers, layer);
 	if (rl == NULL) {
+		BKE_image_release_renderresult(scene, image);
 		return false;
 	}
 
 	rpass = BLI_findlink(&rl->passes, iuser->pass);
 	if (rpass == NULL) {
+		BKE_image_release_renderresult(scene, image);
 		return false;
 	}
 
@@ -631,8 +634,10 @@ static bool ui_imageuser_pass_menu_step(bContext *C, int direction, void *rnd_pt
 		RenderPass *rp;
 		int rp_index = 0;
 
-		if (iuser->pass == 0)
+		if (iuser->pass == 0) {
+			BKE_image_release_renderresult(scene, image);
 			return false;
+		}
 
 		for (rp = rl->passes.first; rp; rp = rp->next, rp_index++) {
 			if (rp->passtype == rpass->passtype) {
@@ -646,6 +651,8 @@ static bool ui_imageuser_pass_menu_step(bContext *C, int direction, void *rnd_pt
 		BLI_assert(0);
 	}
 
+	BKE_image_release_renderresult(scene, image);
+
 	if (changed) {
 		BKE_image_multilayer_index(rr, iuser);
 		WM_event_add_notifier(C, NC_IMAGE | ND_DRAW, NULL);




More information about the Bf-blender-cvs mailing list