[Bf-blender-cvs] [c121bc62193] blender2.8: Cleanup: use explicit 'select_and_set_active' API name

Campbell Barton noreply at git.blender.org
Wed Nov 7 22:31:48 CET 2018


Commit: c121bc62193ab22b37cf3d8cf7bd1d21205f1f3c
Author: Campbell Barton
Date:   Thu Nov 8 08:15:22 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBc121bc62193ab22b37cf3d8cf7bd1d21205f1f3c

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.

===================================================================

M	source/blender/alembic/intern/alembic_capi.cc
M	source/blender/blenkernel/BKE_layer.h
M	source/blender/blenkernel/intern/layer.c
M	source/blender/blenkernel/intern/object.c
M	source/blender/collada/collada_utils.cpp
M	source/blender/editors/object/object_relations.c
M	source/blender/makesrna/intern/rna_object_api.c

===================================================================

diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc
index c3e07fcdb2d..e1d4eb3490b 100644
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@ -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,
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;
 }
diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp
index 5f01a092699..5019916b06f 100644
--- a/source/blender/collada/collada_utils.cpp
+++ b/source/blender/collada/collada_utils.cpp
@@ -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;
 }
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 12de37a7787..0a35b572bbe 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -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... */
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index bba6918044a..da0ed8e10a8 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -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;
 	}



More information about the Bf-blender-cvs mailing list