diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-01 18:51:44 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-11-01 18:51:44 +0400 |
commit | d55298ee3c67dfa2044759bcff01929465ef1b18 (patch) | |
tree | 0dd23c93009fa1ce8651a89f790d1299ea36a65a /source | |
parent | 4b48a5a497136e6839474a7089e9674fe31b1fc9 (diff) |
Fix #29109: bpy.ops.render.render() with scene parameter missed compositing,
previous bugfix needed a bit more refining.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/render/render_internal.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 2f0958371f9..9c38b1ce98f 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -223,20 +223,26 @@ static int screen_render_exec(bContext *C, wmOperator *op) { Scene *scene= CTX_data_scene(C); SceneRenderLayer *srl= NULL; - Render *re= RE_NewRender(scene->id.name); + Render *re; Image *ima; View3D *v3d= CTX_wm_view3d(C); Main *mainp= CTX_data_main(C); - unsigned int lay= (v3d)? v3d->lay: scene->lay; + unsigned int lay; const short is_animation= RNA_boolean_get(op->ptr, "animation"); const short is_write_still= RNA_boolean_get(op->ptr, "write_still"); struct Object *camera_override= v3d ? V3D_CAMERA_LOCAL(v3d) : NULL; + /* custom scene and single layer re-render */ + screen_render_scene_layer_set(op, mainp, &scene, &srl); + if(!is_animation && is_write_still && BKE_imtype_is_movie(scene->r.imtype)) { BKE_report(op->reports, RPT_ERROR, "Can't write a single file with an animation format selected"); return OPERATOR_CANCELLED; } + re= RE_NewRender(scene->id.name); + lay= (v3d)? v3d->lay: scene->lay; + G.afbreek= 0; RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break); @@ -252,9 +258,6 @@ static int screen_render_exec(bContext *C, wmOperator *op) RE_SetReports(re, op->reports); - /* custom scene and single layer re-render */ - screen_render_scene_layer_set(op, mainp, &scene, &srl); - if(is_animation) RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step); else |