[Bf-blender-cvs] [7ab89c260e7] workspaces: Cleanup: use BLI_find util functions

Campbell Barton noreply at git.blender.org
Sun Apr 9 08:14:46 CEST 2017


Commit: 7ab89c260e7c18f9f48b72598200d69912ad1277
Author: Campbell Barton
Date:   Sun Apr 9 15:02:29 2017 +1000
Branches: workspaces
https://developer.blender.org/rB7ab89c260e7c18f9f48b72598200d69912ad1277

Cleanup: use BLI_find util functions

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

M	source/blender/blenkernel/intern/workspace.c

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

diff --git a/source/blender/blenkernel/intern/workspace.c b/source/blender/blenkernel/intern/workspace.c
index 3c3e7aefe5d..c0af19c189b 100644
--- a/source/blender/blenkernel/intern/workspace.c
+++ b/source/blender/blenkernel/intern/workspace.c
@@ -71,13 +71,7 @@ static void workspace_layout_name_set(
 static WorkSpaceLayout *workspace_layout_find_exec(
         const WorkSpace *workspace, const bScreen *screen)
 {
-	for (WorkSpaceLayout *layout = workspace->layouts.first; layout; layout = layout->next) {
-		if (layout->screen == screen) {
-			return layout;
-		}
-	}
-
-	return NULL;
+	return BLI_findptr(&workspace->layouts, screen, offsetof(WorkSpaceLayout, screen));
 }
 
 static void workspace_relation_add(
@@ -99,30 +93,29 @@ static void workspace_relation_remove(
 static void workspace_relation_ensure_updated(
         ListBase *relation_list, void *parent, void *data)
 {
-	for (WorkSpaceDataRelation *relation = relation_list->first; relation; relation = relation->next) {
-		if (relation->parent == parent) {
-			relation->value = data;
-			/* reinsert at the head of the list, so that more commonly used relations are found faster. */
-			BLI_remlink(relation_list, relation);
-			BLI_addhead(relation_list, relation);
-			return;
-		}
+	WorkSpaceDataRelation *relation = BLI_findptr(relation_list, parent, offsetof(WorkSpaceDataRelation, parent));
+	if (relation != NULL) {
+		relation->value = data;
+		/* reinsert at the head of the list, so that more commonly used relations are found faster. */
+		BLI_remlink(relation_list, relation);
+		BLI_addhead(relation_list, relation);
+	}
+	else {
+		/* no matching relation found, add new one */
+		workspace_relation_add(relation_list, parent, data);
 	}
-
-	/* no matching relation found, add new one */
-	workspace_relation_add(relation_list, parent, data);
 }
 
 static void *workspace_relation_get_data_matching_parent(
         const ListBase *relation_list, const void *parent)
 {
-	for (WorkSpaceDataRelation *relation = relation_list->first; relation; relation = relation->next) {
-		if (relation->parent == parent) {
-			return relation->value;
-		}
+	WorkSpaceDataRelation *relation = BLI_findptr(relation_list, parent, offsetof(WorkSpaceDataRelation, parent));
+	if (relation != NULL) {
+		return relation->value;
+	}
+	else {
+		return NULL;
 	}
-
-	return NULL;
 }
 
 /**




More information about the Bf-blender-cvs mailing list