diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-06-25 13:36:45 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-06-25 13:38:40 +0400 |
commit | da64e8ae0551b85760855b5b5bdfdb2673985223 (patch) | |
tree | cb21ee1a4544bafd5bedaf3b11ca54e209a6a3f5 | |
parent | 0529766f32b70f38d4089297c8b5e86b964de289 (diff) |
Fix T40800: Crash when editing material nodes
it was caused by ee5f432. Not sure why exactly blender runs into
threading conflicts here since material preview works.
Let's keep it simple for now and disable material nodes preview,
because it's not supported by the interface anyway.
This is to be included to the final release.
-rw-r--r-- | source/blender/editors/render/render_preview.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 7385ad111fe..01f00a8458a 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -1138,6 +1138,12 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M ShaderPreview *sp; Scene *scene = CTX_data_scene(C); short id_type = GS(id->name); + bool use_new_shading = BKE_scene_use_new_shading_nodes(scene); + + /* Only texture node preview is supported with Cycles. */ + if (use_new_shading && method == PR_NODE_RENDER && id_type != ID_TE) { + return; + } wm_job = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), owner, "Shader Preview", WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW); @@ -1155,10 +1161,7 @@ void ED_preview_shader_job(const bContext *C, void *owner, ID *id, ID *parent, M /* hardcoded preview .blend for cycles/internal, this should be solved * once with custom preview .blend path for external engines */ - if ((method != PR_NODE_RENDER) && - id_type != ID_TE && - BKE_scene_use_new_shading_nodes(scene)) - { + if ((method != PR_NODE_RENDER) && id_type != ID_TE && use_new_shading) { sp->pr_main = G_pr_main_cycles; } else { |