From 9cae631059c22ad34ee7f74d98ebc42d899757c4 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Tue, 30 May 2017 18:44:39 +0200 Subject: Baking: Add logic to get material from API regardless of Mesh/Object ownership --- source/blender/editors/object/object_bake_api.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'source/blender/editors/object') diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c index 14224e9c939..b059e4f6ca7 100644 --- a/source/blender/editors/object/object_bake_api.c +++ b/source/blender/editors/object/object_bake_api.c @@ -51,6 +51,7 @@ #include "BKE_image.h" #include "BKE_library.h" #include "BKE_main.h" +#include "BKE_material.h" #include "BKE_node.h" #include "BKE_report.h" #include "BKE_modifier.h" @@ -411,19 +412,15 @@ static bool bake_object_check(Scene *scene, Object *ob, ReportList *reports) } } else { - if (ob->mat[i]) { + Material *mat = give_current_material(ob, i); + if (mat != NULL) { BKE_reportf(reports, RPT_ERROR, "No active image found in material \"%s\" (%d) for object \"%s\"", - ob->mat[i]->id.name + 2, i, ob->id.name + 2); - } - else if (((Mesh *) ob->data)->mat[i]) { - BKE_reportf(reports, RPT_ERROR, - "No active image found in material \"%s\" (%d) for object \"%s\"", - ((Mesh *) ob->data)->mat[i]->id.name + 2, i, ob->id.name + 2); + mat->id.name + 2, i, ob->id.name + 2); } else { BKE_reportf(reports, RPT_ERROR, - "No active image found in material (%d) for object \"%s\"", + "No active image found in material slot (%d) for object \"%s\"", i, ob->id.name + 2); } return false; -- cgit v1.2.3