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-28 23:36:44 +0300
committerDalai Felinto <dfelinto@gmail.com>2015-04-29 00:08:56 +0300
commitf8540d7fd5a47bc9d1d676d5aaaa0de379c71637 (patch)
tree9c2bb3b5e0e317871392db21bd7d8d3c108e5287 /source/blender/render
parentf9d23b82fe4461ccab40124b8a4cdb4735fbedd3 (diff)
RenderResult should have a valid view whenever possible
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/include/render_result.h1
-rw-r--r--source/blender/render/intern/source/pipeline.c1
-rw-r--r--source/blender/render/intern/source/render_result.c20
3 files changed, 13 insertions, 9 deletions
diff --git a/source/blender/render/intern/include/render_result.h b/source/blender/render/intern/include/render_result.h
index e7a2cbf99cd..f031be9e9c9 100644
--- a/source/blender/render/intern/include/render_result.h
+++ b/source/blender/render/intern/include/render_result.h
@@ -60,6 +60,7 @@ struct RenderResult *render_result_new_full_sample(struct Render *re,
struct RenderResult *render_result_new_from_exr(void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty);
+void render_result_view_new(struct RenderResult *rr, const char *viewname);
void render_result_views_new(struct RenderResult *rr, struct RenderData *rd);
/* Merge */
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 7b5692fbdb6..7206c21de9e 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -747,6 +747,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd,
re->result = MEM_callocN(sizeof(RenderResult), "new render result");
re->result->rectx = re->rectx;
re->result->recty = re->recty;
+ render_result_view_new(re->result, "new temporary view");
}
if (re->r.scemode & R_VIEWPORT_PREVIEW)
diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c
index 0d3720a9eca..0bd4284746d 100644
--- a/source/blender/render/intern/source/render_result.c
+++ b/source/blender/render/intern/source/render_result.c
@@ -911,10 +911,16 @@ RenderResult *render_result_new_from_exr(void *exrhandle, const char *colorspace
return rr;
}
+void render_result_view_new(RenderResult *rr, const char *viewname)
+{
+ RenderView *rv = MEM_callocN(sizeof(RenderView), "new render view");
+ BLI_addtail(&rr->views, rv);
+ BLI_strncpy(rv->name, viewname, sizeof(rv->name));
+}
+
void render_result_views_new(RenderResult *rr, RenderData *rd)
{
SceneRenderView *srv;
- RenderView *rv;
/* clear previously existing views - for sequencer */
render_result_views_free(rr);
@@ -922,19 +928,15 @@ void render_result_views_new(RenderResult *rr, RenderData *rd)
/* check renderdata for amount of views */
if ((rd->scemode & R_MULTIVIEW)) {
for (srv = rd->views.first; srv; srv = srv->next) {
- if (BKE_scene_multiview_is_render_view_active(rd, srv) == false) continue;
-
- rv = MEM_callocN(sizeof(RenderView), "new render view");
- BLI_addtail(&rr->views, rv);
-
- BLI_strncpy(rv->name, srv->name, sizeof(rv->name));
+ if (BKE_scene_multiview_is_render_view_active(rd, srv) == false)
+ continue;
+ render_result_view_new(rr, srv->name);
}
}
/* we always need at least one view */
if (BLI_listbase_count_ex(&rr->views, 1) == 0) {
- rv = MEM_callocN(sizeof(RenderView), "new render view");
- BLI_addtail(&rr->views, rv);
+ render_result_view_new(rr, "new render view");
}
}