From 0cddc7e300fd90cdc6dd8ca8dafca21e8ccfa8a9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jan 2018 21:07:43 +1100 Subject: WM: operator flag to check repeat/redo execution --- source/blender/makesdna/DNA_windowmanager_types.h | 6 ++++-- source/blender/makesrna/intern/rna_wm.c | 5 +++++ source/blender/windowmanager/intern/wm_event_system.c | 12 ++++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) (limited to 'source/blender') diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 06185a583bb..cf8dbdd8c63 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -398,13 +398,15 @@ enum { /* low level flag so exec() operators can tell if they were invoked, use with care. * typically this shouldn't make any difference, but it rare cases its needed (see smooth-view) */ OP_IS_INVOKE = (1 << 0), + /* So we can detect if an operators exec() call is activated from an interactive repeat. */ + OP_IS_REPEAT = (1 << 1), /* When the cursor is grabbed */ - OP_IS_MODAL_GRAB_CURSOR = (1 << 1), + OP_IS_MODAL_GRAB_CURSOR = (1 << 2), /* allow modal operators to have the region under the cursor for their context * (the regiontype is maintained to prevent errors) */ - OP_IS_MODAL_CURSOR_REGION = (1 << 2), + OP_IS_MODAL_CURSOR_REGION = (1 << 3), }; #endif /* __DNA_WINDOWMANAGER_TYPES_H__ */ diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 5b4fe30aaef..265758eb5c3 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -1443,6 +1443,11 @@ static void rna_def_operator_options_runtime(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Invoke", "True when invoked (even if only the execute callbacks available)"); RNA_def_property_clear_flag(prop, PROP_EDITABLE); + prop = RNA_def_property(srna, "is_repeat", PROP_BOOLEAN, PROP_BOOLEAN); + RNA_def_property_boolean_sdna(prop, NULL, "flag", OP_IS_REPEAT); + RNA_def_property_ui_text(prop, "Repeat", "True when run from the redo panel"); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + prop = RNA_def_property(srna, "use_cursor_region", PROP_BOOLEAN, PROP_BOOLEAN); RNA_def_property_boolean_sdna(prop, NULL, "flag", OP_IS_MODAL_CURSOR_REGION); RNA_def_property_ui_text(prop, "Focus Region", "Enable to use the region under the cursor for modal execution"); diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index ed56586711d..61c144a63d4 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -802,14 +802,22 @@ static int wm_operator_exec(bContext *C, wmOperator *op, const bool repeat, cons return retval; if (op->type->exec) { - if (op->type->flag & OPTYPE_UNDO) + if (op->type->flag & OPTYPE_UNDO) { wm->op_undo_depth++; + } + if (repeat) { + op->flag |= OP_IS_REPEAT; + } retval = op->type->exec(C, op); OPERATOR_RETVAL_CHECK(retval); + if (repeat) { + op->flag &= ~OP_IS_REPEAT; + } - if (op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm) + if (op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm) { wm->op_undo_depth--; + } } /* XXX Disabled the repeat check to address part 2 of #31840. -- cgit v1.2.3 From 5a61c1de8269c3398cc638f94141a30e3fbcf3cb Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jan 2018 21:09:16 +1100 Subject: Fix T53786: Proportional size from redo ignored Changing PET size while transforming stores the size in the tool settings, but changing in the redo panel didn't. --- source/blender/editors/transform/transform.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 09835fa4229..6ca9485599c 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -1936,7 +1936,7 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) } // If modal, save settings back in scene if not set as operator argument - if (t->flag & T_MODAL) { + if ((t->flag & T_MODAL) || (op->flag & OP_IS_REPEAT)) { /* save settings if not set in operator */ /* skip saving proportional edit if it was not actually used */ @@ -1956,10 +1956,9 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op) ts->proportional_objects = (proportional != PROP_EDIT_OFF); } - if ((prop = RNA_struct_find_property(op->ptr, "proportional_size")) && - !RNA_property_is_set(op->ptr, prop)) - { - ts->proportional_size = t->prop_size; + if ((prop = RNA_struct_find_property(op->ptr, "proportional_size"))) { + ts->proportional_size = + RNA_property_is_set(op->ptr, prop) ? RNA_property_float_get(op->ptr, prop) : t->prop_size; } if ((prop = RNA_struct_find_property(op->ptr, "proportional_edit_falloff")) && -- cgit v1.2.3 From 889321e22b70006a550c923c0ace18e75732e106 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 19 Jan 2018 21:39:18 +1100 Subject: Cleanup: reaname LINKLIST_FOREACH -> LISTBASE LinkList's are a different API, no need to confuse things. --- source/blender/blenlib/BLI_linklist.h | 3 --- source/blender/blenlib/BLI_listbase.h | 6 ++--- source/blender/blenlib/intern/BLI_linklist.c | 4 +++ source/blender/blenlib/intern/listbase.c | 4 ++- .../depsgraph/intern/builder/deg_builder_nodes.cc | 12 ++++----- .../intern/builder/deg_builder_nodes_rig.cc | 6 ++--- .../intern/builder/deg_builder_nodes_scene.cc | 8 +++--- .../intern/builder/deg_builder_relations.cc | 30 +++++++++++----------- .../intern/builder/deg_builder_relations_rig.cc | 8 +++--- .../intern/builder/deg_builder_relations_scene.cc | 6 ++--- source/blender/depsgraph/intern/depsgraph.cc | 2 +- source/blender/depsgraph/intern/depsgraph_tag.cc | 6 ++--- 12 files changed, 49 insertions(+), 46 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenlib/BLI_linklist.h b/source/blender/blenlib/BLI_linklist.h index 367f1bb9de5..7eec54e67e1 100644 --- a/source/blender/blenlib/BLI_linklist.h +++ b/source/blender/blenlib/BLI_linklist.h @@ -30,9 +30,6 @@ /** \file BLI_linklist.h * \ingroup bli - * \brief Routines for working with singly linked lists - * of 'links' - pointers to other data. - * */ #include "BLI_compiler_attrs.h" diff --git a/source/blender/blenlib/BLI_listbase.h b/source/blender/blenlib/BLI_listbase.h index 1e931e6f0d7..2a0f4e6f814 100644 --- a/source/blender/blenlib/BLI_listbase.h +++ b/source/blender/blenlib/BLI_listbase.h @@ -128,9 +128,9 @@ if ((lb)->last && (lb_init || (lb_init = (lb)->last))) { \ (lb_iter != lb_init)); \ } -#define LINKLIST_FOREACH(type, var, list) \ - for (type var = (type)((list)->first); \ - var != NULL; \ +#define BLI_LISTBASE_FOREACH(type, var, list) \ + for (type var = (type)((list)->first); \ + var != NULL; \ var = (type)(((Link*)(var))->next)) #ifdef __cplusplus diff --git a/source/blender/blenlib/intern/BLI_linklist.c b/source/blender/blenlib/intern/BLI_linklist.c index 1500e23d72e..051792f7f7c 100644 --- a/source/blender/blenlib/intern/BLI_linklist.c +++ b/source/blender/blenlib/intern/BLI_linklist.c @@ -28,6 +28,10 @@ /** \file blender/blenlib/intern/BLI_linklist.c * \ingroup bli + * + * Routines for working with single linked lists of 'links' - pointers to other data. + * + * For double linked lists see 'BLI_listbase.h'. */ #include diff --git a/source/blender/blenlib/intern/listbase.c b/source/blender/blenlib/intern/listbase.c index d2cf0cf49a2..96c3972d802 100644 --- a/source/blender/blenlib/intern/listbase.c +++ b/source/blender/blenlib/intern/listbase.c @@ -29,7 +29,9 @@ /** \file blender/blenlib/intern/listbase.c * \ingroup bli * - * Manipulations on ListBase structs + * Manipulations on double-linked list (#ListBase structs). + * + * For single linked lists see 'BLI_linklist.h' */ #include diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index b268d311a41..8d20a671202 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -305,7 +305,7 @@ void DepsgraphNodeBuilder::build_group(Base *base, Group *group) } group_id->tag |= LIB_TAG_DOIT; - LINKLIST_FOREACH (GroupObject *, go, &group->gobject) { + BLI_LISTBASE_FOREACH (GroupObject *, go, &group->gobject) { build_object(base, go->ob); } } @@ -524,7 +524,7 @@ void DepsgraphNodeBuilder::build_animdata(ID *id) } /* drivers */ - LINKLIST_FOREACH (FCurve *, fcu, &adt->drivers) { + BLI_LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) { /* create driver */ build_driver(id, fcu); } @@ -630,7 +630,7 @@ void DepsgraphNodeBuilder::build_rigidbody(Scene *scene) /* objects - simulation participants */ if (rbw->group) { - LINKLIST_FOREACH (GroupObject *, go, &rbw->group->gobject) { + BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->group->gobject) { Object *object = go->ob; if (!object || (object->type != OB_MESH)) @@ -674,7 +674,7 @@ void DepsgraphNodeBuilder::build_particles(Object *object) DEG_OPCODE_PARTICLE_SYSTEM_EVAL_INIT); /* particle systems */ - LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) { + BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) { ParticleSettings *part = psys->part; /* particle settings */ @@ -758,7 +758,7 @@ void DepsgraphNodeBuilder::build_obdata_geom(Object *object) // TODO: "Done" operation /* Cloth modifier. */ - LINKLIST_FOREACH (ModifierData *, md, &object->modifiers) { + BLI_LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) { if (md->type == eModifierType_Cloth) { build_cloth(object); } @@ -962,7 +962,7 @@ void DepsgraphNodeBuilder::build_nodetree(bNodeTree *ntree) op_node->set_as_exit(); /* nodetree's nodes... */ - LINKLIST_FOREACH (bNode *, bnode, &ntree->nodes) { + BLI_LISTBASE_FOREACH (bNode *, bnode, &ntree->nodes) { ID *id = bnode->id; if (id == NULL) { continue; diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc index 9868a8d2208..177a0ec4358 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc @@ -195,7 +195,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object) op_node->set_as_exit(); /* bones */ - LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { /* Node for bone evaluation. */ op_node = add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name, NULL, DEG_OPCODE_BONE_LOCAL); @@ -236,7 +236,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object) * - Care is needed to ensure that multi-headed trees work out the same as in ik-tree building * - Animated chain-lengths are a problem... */ - LINKLIST_FOREACH (bConstraint *, con, &pchan->constraints) { + BLI_LISTBASE_FOREACH (bConstraint *, con, &pchan->constraints) { switch (con->type) { case CONSTRAINT_TYPE_KINEMATIC: build_ik_pose(object, pchan, con); @@ -274,7 +274,7 @@ void DepsgraphNodeBuilder::build_proxy_rig(Object *object) DEG_OPCODE_POSE_INIT); op_node->set_as_entry(); - LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { op_node = add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name, NULL, DEG_OPCODE_BONE_LOCAL); op_node->set_as_entry(); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc index 3c523b1a23c..4a487f13c3a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc @@ -78,7 +78,7 @@ void DepsgraphNodeBuilder::build_scene(Scene *scene) /* Setup currently building context. */ scene_ = scene; /* scene objects */ - LINKLIST_FOREACH (Base *, base, &scene->base) { + BLI_LISTBASE_FOREACH (Base *, base, &scene->base) { Object *object = base->object; build_object(base, object); } @@ -103,15 +103,15 @@ void DepsgraphNodeBuilder::build_scene(Scene *scene) build_gpencil(scene->gpd); } /* Cache file. */ - LINKLIST_FOREACH (CacheFile *, cachefile, &bmain_->cachefiles) { + BLI_LISTBASE_FOREACH (CacheFile *, cachefile, &bmain_->cachefiles) { build_cachefile(cachefile); } /* Masks. */ - LINKLIST_FOREACH (Mask *, mask, &bmain_->mask) { + BLI_LISTBASE_FOREACH (Mask *, mask, &bmain_->mask) { build_mask(mask); } /* Movie clips. */ - LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) { + BLI_LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) { build_movieclip(clip); } /* Parameters evaluation for scene relations mainly. */ diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 3e352539035..81daa8cfb8c 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -193,7 +193,7 @@ static bool particle_system_depends_on_time(ParticleSystem *psys) static bool object_particles_depends_on_time(Object *object) { - LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) { + BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) { if (particle_system_depends_on_time(psys)) { return true; } @@ -349,7 +349,7 @@ void DepsgraphRelationBuilder::add_forcefield_relations( { ListBase *effectors = pdInitEffectors(scene, object, psys, eff, false); if (effectors != NULL) { - LINKLIST_FOREACH(EffectorCache *, eff, effectors) { + BLI_LISTBASE_FOREACH(EffectorCache *, eff, effectors) { if (eff->ob != object) { ComponentKey eff_key(&eff->ob->id, DEG_NODE_TYPE_TRANSFORM); add_relation(eff_key, key, name); @@ -429,7 +429,7 @@ void DepsgraphRelationBuilder::build_group(Object *object, Group *group) OperationKey object_local_transform_key(&object->id, DEG_NODE_TYPE_TRANSFORM, DEG_OPCODE_TRANSFORM_LOCAL); - LINKLIST_FOREACH (GroupObject *, go, &group->gobject) { + BLI_LISTBASE_FOREACH (GroupObject *, go, &group->gobject) { if (!group_done) { build_object(go->ob); } @@ -753,7 +753,7 @@ void DepsgraphRelationBuilder::build_constraints(ID *id, else if (cti->get_constraint_targets) { ListBase targets = {NULL, NULL}; cti->get_constraint_targets(con, &targets); - LINKLIST_FOREACH (bConstraintTarget *, ct, &targets) { + BLI_LISTBASE_FOREACH (bConstraintTarget *, ct, &targets) { if (ct->tar == NULL) { continue; } @@ -938,7 +938,7 @@ void DepsgraphRelationBuilder::build_animdata_curves_targets(ID *id) /* Iterate over all curves and build relations. */ PointerRNA id_ptr; RNA_id_pointer_create(id, &id_ptr); - LINKLIST_FOREACH(FCurve *, fcu, &adt->action->curves) { + BLI_LISTBASE_FOREACH(FCurve *, fcu, &adt->action->curves) { PointerRNA ptr; PropertyRNA *prop; int index; @@ -976,7 +976,7 @@ void DepsgraphRelationBuilder::build_animdata_drivers(ID *id) return; } ComponentKey adt_key(id, DEG_NODE_TYPE_ANIMATION); - LINKLIST_FOREACH (FCurve *, fcu, &adt->drivers) { + BLI_LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) { OperationKey driver_key(id, DEG_NODE_TYPE_PARAMETERS, DEG_OPCODE_DRIVER, @@ -1000,7 +1000,7 @@ void DepsgraphRelationBuilder::build_animdata_drivers(ID *id) */ if (fcu->array_index > 0) { FCurve *fcu_prev = NULL; - LINKLIST_FOREACH (FCurve *, fcu_candidate, &adt->drivers) { + BLI_LISTBASE_FOREACH (FCurve *, fcu_candidate, &adt->drivers) { /* Writing to different RNA paths is */ const char *rna_path = fcu->rna_path ? fcu->rna_path : ""; if (!STREQ(fcu_candidate->rna_path, rna_path)) { @@ -1130,7 +1130,7 @@ void DepsgraphRelationBuilder::build_driver_variables(ID *id, FCurve *fcu) const char *rna_path = fcu->rna_path ? fcu->rna_path : ""; const RNAPathKey self_key(id, rna_path); - LINKLIST_FOREACH (DriverVar *, dvar, &driver->variables) { + BLI_LISTBASE_FOREACH (DriverVar *, dvar, &driver->variables) { /* Only used targets. */ DRIVER_TARGETS_USED_LOOPER(dvar) { @@ -1245,7 +1245,7 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene) /* objects - simulation participants */ if (rbw->group) { - LINKLIST_FOREACH (GroupObject *, go, &rbw->group->gobject) { + BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->group->gobject) { Object *object = go->ob; if (object == NULL || object->type != OB_MESH) { continue; @@ -1299,7 +1299,7 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene) /* constraints */ if (rbw->constraints) { - LINKLIST_FOREACH (GroupObject *, go, &rbw->constraints->gobject) { + BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->constraints->gobject) { Object *object = go->ob; if (object == NULL || !object->rigidbody_constraint) { continue; @@ -1335,7 +1335,7 @@ void DepsgraphRelationBuilder::build_particles(Object *object) DEG_OPCODE_PARTICLE_SYSTEM_EVAL_INIT); /* particle systems */ - LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) { + BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) { ParticleSettings *part = psys->part; /* particle settings */ @@ -1369,8 +1369,8 @@ void DepsgraphRelationBuilder::build_particles(Object *object) /* boids */ if (part->boids) { - LINKLIST_FOREACH (BoidState *, state, &part->boids->states) { - LINKLIST_FOREACH (BoidRule *, rule, &state->rules) { + BLI_LISTBASE_FOREACH (BoidState *, state, &part->boids->states) { + BLI_LISTBASE_FOREACH (BoidRule *, rule, &state->rules) { Object *ruleob = NULL; if (rule->type == eBoidRuleType_Avoid) ruleob = ((BoidRuleGoalAvoid *)rule)->ob; @@ -1488,7 +1488,7 @@ void DepsgraphRelationBuilder::build_obdata_geom(Object *object) DEG_NODE_TYPE_GEOMETRY, DEG_OPCODE_GEOMETRY_UBEREVAL); - LINKLIST_FOREACH (ModifierData *, md, &object->modifiers) { + BLI_LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) { const ModifierTypeInfo *mti = modifierType_getInfo((ModifierType)md->type); if (mti->updateDepsgraph) { DepsNodeHandle handle = create_node_handle(obdata_ubereval_key); @@ -1681,7 +1681,7 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree) DEG_OPCODE_PARAMETERS_EVAL); /* nodetree's nodes... */ - LINKLIST_FOREACH (bNode *, bnode, &ntree->nodes) { + BLI_LISTBASE_FOREACH (bNode *, bnode, &ntree->nodes) { ID *id = bnode->id; if (id == NULL) { continue; diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc index dc88d80fed9..b23a6112fce 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc @@ -341,8 +341,8 @@ void DepsgraphRelationBuilder::build_rig(Object *object) */ RootPChanMap root_map; bool pose_depends_on_local_transform = false; - LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { - LINKLIST_FOREACH (bConstraint *, con, &pchan->constraints) { + BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH (bConstraint *, con, &pchan->constraints) { switch (con->type) { case CONSTRAINT_TYPE_KINEMATIC: build_ik_pose(object, pchan, con, &root_map); @@ -382,7 +382,7 @@ void DepsgraphRelationBuilder::build_rig(Object *object) } /* links between operations for each bone */ - LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { OperationKey bone_local_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_LOCAL); OperationKey bone_pose_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_POSE_PARENT); OperationKey bone_ready_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_READY); @@ -446,7 +446,7 @@ void DepsgraphRelationBuilder::build_proxy_rig(Object *object) { OperationKey pose_init_key(&object->id, DEG_NODE_TYPE_EVAL_POSE, DEG_OPCODE_POSE_INIT); OperationKey pose_done_key(&object->id, DEG_NODE_TYPE_EVAL_POSE, DEG_OPCODE_POSE_DONE); - LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) { OperationKey bone_local_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_LOCAL); OperationKey bone_ready_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_READY); OperationKey bone_done_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_DONE); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc index 29c739bf784..93b4f77bb6e 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc @@ -76,7 +76,7 @@ void DepsgraphRelationBuilder::build_scene(Scene *scene) /* Setup currently building context. */ scene_ = scene; /* Scene objects. */ - LINKLIST_FOREACH (Base *, base, &scene->base) { + BLI_LISTBASE_FOREACH (Base *, base, &scene->base) { Object *object = base->object; build_object(object); } @@ -101,11 +101,11 @@ void DepsgraphRelationBuilder::build_scene(Scene *scene) build_gpencil(scene->gpd); } /* Masks. */ - LINKLIST_FOREACH (Mask *, mask, &bmain_->mask) { + BLI_LISTBASE_FOREACH (Mask *, mask, &bmain_->mask) { build_mask(mask); } /* Movie clips. */ - LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) { + BLI_LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) { build_movieclip(clip); } for (Depsgraph::OperationNodes::const_iterator it_op = graph_->operations.begin(); diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc index 757af7cc3fc..a016d623ea9 100644 --- a/source/blender/depsgraph/intern/depsgraph.cc +++ b/source/blender/depsgraph/intern/depsgraph.cc @@ -155,7 +155,7 @@ static bool pointer_to_component_node_criteria( return true; } else if (object->pose != NULL) { - LINKLIST_FOREACH(bPoseChannel *, pchan, &object->pose->chanbase) { + BLI_LISTBASE_FOREACH(bPoseChannel *, pchan, &object->pose->chanbase) { if (BLI_findindex(&pchan->constraints, con) != -1) { /* bone transforms */ *type = DEG_NODE_TYPE_BONE; diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index 7f08f3f8052..a66c61e4c0f 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -328,12 +328,12 @@ void DEG_graph_on_visible_update(Main *bmain, Scene *scene) return; } /* Special trick to get local view to work. */ - LINKLIST_FOREACH (Base *, base, &scene->base) { + BLI_LISTBASE_FOREACH (Base *, base, &scene->base) { Object *object = base->object; DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); id_node->layers = 0; } - LINKLIST_FOREACH (Base *, base, &scene->base) { + BLI_LISTBASE_FOREACH (Base *, base, &scene->base) { Object *object = base->object; DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); id_node->layers |= base->lay; @@ -343,7 +343,7 @@ void DEG_graph_on_visible_update(Main *bmain, Scene *scene) } } DEG::deg_graph_build_flush_layers(graph); - LINKLIST_FOREACH (Base *, base, &scene->base) { + BLI_LISTBASE_FOREACH (Base *, base, &scene->base) { Object *object = base->object; DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); GHASH_FOREACH_BEGIN(DEG::ComponentDepsNode *, comp, id_node->components) -- cgit v1.2.3