[Bf-blender-cvs] [655faca1058] master: Fix: Workbench assert on non-image texture node
Dalai Felinto
noreply at git.blender.org
Fri Feb 22 22:01:53 CET 2019
Commit: 655faca105863eafd1080d32a753e48dbe3b9164
Author: Dalai Felinto
Date: Fri Feb 22 18:00:45 2019 -0300
Branches: master
https://developer.blender.org/rB655faca105863eafd1080d32a753e48dbe3b9164
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.
===================================================================
M source/blender/draw/engines/workbench/workbench_materials.c
===================================================================
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;
More information about the Bf-blender-cvs
mailing list