Cleanup: use explicit 'select_and_set_active' API name
Selection should be separated from active state and handled by higher level code (operators/editors) instead of happening automatically.
This commit is contained in:
parent
bdd44564c9
commit
c121bc6219
|
@ -815,7 +815,8 @@ static void import_endjob(void *user_data)
|
|||
BKE_collection_object_add(data->bmain, lc->collection, ob);
|
||||
|
||||
base = BKE_view_layer_base_find(view_layer, ob);
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
/* TODO: is setting active needed? */
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
|
||||
DEG_id_tag_update(&lc->collection->id, DEG_TAG_COPY_ON_WRITE);
|
||||
DEG_id_tag_update_ex(data->bmain, &ob->id,
|
||||
|
|
|
@ -73,7 +73,9 @@ struct Object *BKE_view_layer_camera_find(struct ViewLayer *view_layer);
|
|||
struct ViewLayer *BKE_view_layer_find_from_collection(const struct Scene *scene, struct LayerCollection *lc);
|
||||
struct Base *BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob);
|
||||
void BKE_view_layer_base_deselect_all(struct ViewLayer *view_layer);
|
||||
void BKE_view_layer_base_select(struct ViewLayer *view_layer, struct Base *selbase);
|
||||
|
||||
void BKE_view_layer_base_select(struct Base *selbase);
|
||||
void BKE_view_layer_base_select_and_set_active(struct ViewLayer *view_layer, struct Base *selbase);
|
||||
|
||||
void BKE_view_layer_copy_data(
|
||||
struct Scene *scene_dst, const struct Scene *scene_src,
|
||||
|
|
|
@ -340,14 +340,19 @@ void BKE_view_layer_base_deselect_all(ViewLayer *view_layer)
|
|||
}
|
||||
}
|
||||
|
||||
void BKE_view_layer_base_select(struct ViewLayer *view_layer, Base *selbase)
|
||||
void BKE_view_layer_base_select(Base *selbase)
|
||||
{
|
||||
view_layer->basact = selbase;
|
||||
if ((selbase->flag & BASE_SELECTABLE) != 0) {
|
||||
selbase->flag |= BASE_SELECTED;
|
||||
}
|
||||
}
|
||||
|
||||
void BKE_view_layer_base_select_and_set_active(struct ViewLayer *view_layer, Base *selbase)
|
||||
{
|
||||
view_layer->basact = selbase;
|
||||
BKE_view_layer_base_select(selbase);
|
||||
}
|
||||
|
||||
/**************************** Copy View Layer and Layer Collections ***********************/
|
||||
|
||||
static void layer_collections_copy_data(
|
||||
|
|
|
@ -924,7 +924,7 @@ Object *BKE_object_add(
|
|||
BKE_collection_object_add(bmain, layer_collection->collection, ob);
|
||||
|
||||
base = BKE_view_layer_base_find(view_layer, ob);
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
|
||||
return ob;
|
||||
}
|
||||
|
@ -945,7 +945,7 @@ Object *BKE_object_add_from(
|
|||
BKE_collection_object_add_from(bmain, scene, ob_src, ob);
|
||||
|
||||
base = BKE_view_layer_base_find(view_layer, ob);
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
|
||||
return ob;
|
||||
}
|
||||
|
@ -979,7 +979,7 @@ Object *BKE_object_add_for_data(
|
|||
BKE_collection_object_add(bmain, layer_collection->collection, ob);
|
||||
|
||||
base = BKE_view_layer_base_find(view_layer, ob);
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
|
||||
return ob;
|
||||
}
|
||||
|
|
|
@ -154,7 +154,8 @@ Object *bc_add_object(Main *bmain, Scene *scene, ViewLayer *view_layer, int type
|
|||
BKE_collection_object_add(bmain, layer_collection->collection, ob);
|
||||
|
||||
Base *base = BKE_view_layer_base_find(view_layer, ob);
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
/* TODO: is setting active needed? */
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
|
||||
return ob;
|
||||
}
|
||||
|
|
|
@ -2347,7 +2347,8 @@ static int make_override_static_exec(bContext *C, wmOperator *op)
|
|||
new_ob->parent = obcollection;
|
||||
}
|
||||
if (new_ob == (Object *)obact->id.newid) {
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
/* TODO: is setting active needed? */
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
}
|
||||
else {
|
||||
/* Disable auto-override tags for non-active objects, will help with performaces... */
|
||||
|
|
|
@ -117,7 +117,7 @@ static void rna_Object_select_set(Object *ob, bContext *C, ReportList *reports,
|
|||
break;
|
||||
case 0: /* SELECT */
|
||||
default:
|
||||
BKE_view_layer_base_select(view_layer, base);
|
||||
BKE_view_layer_base_select_and_set_active(view_layer, base);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue