From 655faca105863eafd1080d32a753e48dbe3b9164 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 22 Feb 2019 18:00:45 -0300 Subject: Fix: Workbench assert on non-image texture node This was not report, but it would happen if you open the sample file from T61858 and changed to solid view with texture. --- .../draw/engines/workbench/workbench_materials.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c index 921585122dd..5fd4c4a6109 100644 --- a/source/blender/draw/engines/workbench/workbench_materials.c +++ b/source/blender/draw/engines/workbench/workbench_materials.c @@ -225,10 +225,24 @@ void workbench_material_get_image_and_mat(Object *ob, int mat_nr, Image **r_imag bNode *node; *r_mat = give_current_material(ob, mat_nr); ED_object_get_active_image(ob, mat_nr, r_image, NULL, &node, NULL); - if (node) { - BLI_assert(node->type == SH_NODE_TEX_IMAGE); - NodeTexImage *storage = node->storage; - *r_interp = storage->interpolation; + if (node && *r_image) { + switch (node->type) { + case SH_NODE_TEX_IMAGE: + { + NodeTexImage *storage = node->storage; + *r_interp = storage->interpolation; + break; + } + case SH_NODE_TEX_ENVIRONMENT: + { + NodeTexEnvironment *storage = node->storage; + *r_interp = storage->interpolation; + break; + } + default: + BLI_assert(!"Node type not supported by workbench"); + *r_interp = 0; + } } else { *r_interp = 0; -- cgit v1.2.3