diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-01-29 19:09:38 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-01-30 00:00:15 +0300 |
commit | 847613c34ecdd61effe820e5e4cabe9c3dc4915c (patch) | |
tree | d838b0a5671b4ffaa5378c0054e7829987ed303b /source/blender/editors/render/render_internal.c | |
parent | b6dbd8723c1ba56eb6bfaedf8a06e4f31bdb57c1 (diff) |
Render: Abort operator if there is no render_to_image() function
Diffstat (limited to 'source/blender/editors/render/render_internal.c')
-rw-r--r-- | source/blender/editors/render/render_internal.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 233365ec926..3be890f2c36 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -295,6 +295,7 @@ static void screen_render_view_layer_set(wmOperator *op, Main *mainp, Scene **sc static int screen_render_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); + RenderEngineType *re_type = RE_engines_find(scene->view_render.engine_id); ViewLayer *view_layer = NULL; Depsgraph *depsgraph = CTX_data_depsgraph(C); Render *re; @@ -306,6 +307,11 @@ static int screen_render_exec(bContext *C, wmOperator *op) const bool is_write_still = RNA_boolean_get(op->ptr, "write_still"); struct Object *camera_override = v3d ? V3D_CAMERA_LOCAL(v3d) : NULL; + /* Cannot do render if there is not this function. */ + if (re_type->render_to_image == NULL) { + return OPERATOR_CANCELLED; + } + /* custom scene and single layer re-render */ screen_render_view_layer_set(op, mainp, &scene, &view_layer); @@ -858,6 +864,11 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even const char *name; ScrArea *sa; + /* Cannot do render if there is not this function. */ + if (re_type->render_to_image == NULL) { + return OPERATOR_CANCELLED; + } + /* XXX FIXME If engine is an OpenGL engine do not run modal. * This is a problem for animation rendering since you cannot abort them. * This also does not open an image editor space. */ |