rr = BKE_image_acquire_renderresult(scene, image);
if (UNLIKELY(rr == NULL)) {
+ BKE_image_release_renderresult(scene, image);
return false;
}
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;
}
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) {
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);