diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2015-04-23 00:44:30 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2015-04-23 00:48:31 +0300 |
commit | ecb3362a244f082d58c6b73a044d661e4b80f320 (patch) | |
tree | 967570a063bf721c58199eff6552b4cdeaadaf61 /source | |
parent | 6a1c123df461ef0820373c92573e411e2488a89c (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')
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 11 |
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 */ |