Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2015-04-23 00:44:30 +0300
committerDalai Felinto <dfelinto@gmail.com>2015-04-23 00:48:31 +0300
commitecb3362a244f082d58c6b73a044d661e4b80f320 (patch)
tree967570a063bf721c58199eff6552b4cdeaadaf61 /source/blender/blenkernel/intern/image.c
parent6a1c123df461ef0820373c92573e411e2488a89c (diff)
Fix T44396 - Compositing render slots don't work
Note 1: If you go to a render slot previously rendered and change something in the compositing the buffer will still vanish. This is an old bug, T44181, and not addressed here (I'm basically just fixing the regression introduced with multiview) Note 2: I have a work in progress patch to get rid of RenderResult->rectf/rect32/rectz entirely. It still not working, and we should have a working code base before doing refactoring anyways.
Diffstat (limited to 'source/blender/blenkernel/intern/image.c')
-rw-r--r--source/blender/blenkernel/intern/image.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index 88a96ddef18..d743c067cb3 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -3522,6 +3522,7 @@ static ImBuf *image_get_render_result(Image *ima, ImageUser *iuser, void **lock_
{
Render *re;
RenderResult rres;
+ RenderView *rv;
float *rectf, *rectz;
unsigned int *rect;
float dither;
@@ -3570,10 +3571,14 @@ static ImBuf *image_get_render_result(Image *ima, ImageUser *iuser, void **lock_
*lock_r = re;
}
+ rv = BLI_findlink(&rres.views, actview);
+ if (rv == NULL)
+ rv = rres.views.first;
+
/* this gives active layer, composite or sequence result */
- rect = (unsigned int *)rres.rect32;
- rectf = rres.rectf;
- rectz = rres.rectz;
+ rect = (unsigned int *)rv->rect32;
+ rectf = rv->rectf;
+ rectz = rv->rectz;
dither = iuser->scene->r.dither_intensity;
/* combined layer gets added as first layer */