[Bf-blender-cvs] [5f3c8cf] master: Fix T40476 - Baking multiple selected objects in Cycles final result depends on last selected object
Dalai Felinto
noreply at git.blender.org
Tue Jun 3 07:15:12 CEST 2014
Commit: 5f3c8cf72d647ef97c275fc03dfc5dd6f3116513
Author: Dalai Felinto
Date: Tue Jun 3 02:14:12 2014 -0300
https://developer.blender.org/rB5f3c8cf72d647ef97c275fc03dfc5dd6f3116513
Fix T40476 - Baking multiple selected objects in Cycles final result
depends on last selected object
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D577
===================================================================
M source/blender/editors/object/object_bake_api.c
===================================================================
diff --git a/source/blender/editors/object/object_bake_api.c b/source/blender/editors/object/object_bake_api.c
index 6c084e6..b2df61a 100644
--- a/source/blender/editors/object/object_bake_api.c
+++ b/source/blender/editors/object/object_bake_api.c
@@ -389,6 +389,11 @@ static bool bake_objects_check(Main *bmain, Object *ob, ListBase *objects,
}
}
else {
+ if (BLI_listbase_is_empty(objects)) {
+ BKE_report(reports, RPT_ERROR, "No valid selected objects");
+ return false;
+ }
+
for (link = objects->first; link; link = link->next) {
if (!bake_object_check(link->ptr.data, reports))
return false;
@@ -1010,6 +1015,8 @@ static void bake_init_api_data(wmOperator *op, bContext *C, BakeAPIRender *bkr)
bkr->reports = op->reports;
+ bkr->result = OPERATOR_CANCELLED;
+
/* XXX hack to force saving to always be internal. Whether (and how) to support
* external saving will be addressed later */
bkr->save_mode = R_BAKE_SAVE_INTERNAL;
@@ -1017,7 +1024,7 @@ static void bake_init_api_data(wmOperator *op, bContext *C, BakeAPIRender *bkr)
static int bake_exec(bContext *C, wmOperator *op)
{
- int result;
+ int result = OPERATOR_CANCELLED;
BakeAPIRender bkr = {NULL};
bake_init_api_data(op, C, &bkr);
@@ -1040,7 +1047,7 @@ static int bake_exec(bContext *C, wmOperator *op)
}
else {
CollectionPointerLink *link;
- const bool is_clear = bkr.is_clear && (BLI_countlist(&bkr.selected_objects) == 1);
+ const bool is_clear = bkr.is_clear && BLI_listbase_is_single(&bkr.selected_objects);
for (link = bkr.selected_objects.first; link; link = link->next) {
Object *ob_iter = link->ptr.data;
result = bake(
@@ -1080,7 +1087,7 @@ static void bake_startjob(void *bkv, short *UNUSED(stop), short *UNUSED(do_updat
}
else {
CollectionPointerLink *link;
- const bool is_clear = bkr->is_clear && (BLI_countlist(&bkr->selected_objects) == 1);
+ const bool is_clear = bkr->is_clear && BLI_listbase_is_single(&bkr->selected_objects);
for (link = bkr->selected_objects.first; link; link = link->next) {
Object *ob_iter = link->ptr.data;
bkr->result = bake(
More information about the Bf-blender-cvs
mailing list