[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