From da64e8ae0551b85760855b5b5bdfdb2673985223 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 25 Jun 2014 15:36:45 +0600 Subject: [PATCH] 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. --- source/blender/editors/render/render_preview.c | 11 +++++++---- 1 file 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 {