From c121bc62193ab22b37cf3d8cf7bd1d21205f1f3c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 8 Nov 2018 08:15:22 +1100 Subject: 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. --- source/blender/blenkernel/BKE_layer.h | 4 +++- source/blender/blenkernel/intern/layer.c | 9 +++++++-- source/blender/blenkernel/intern/object.c | 6 +++--- 3 files changed, 13 insertions(+), 6 deletions(-) (limited to 'source/blender/blenkernel') diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index 80d8d237e53..2d736b41d1a 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -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, diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index c259ec0da9c..f27a199097f 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -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( diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 0d7fa973a61..bd14de144da 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -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; } -- cgit v1.2.3