diff options
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_blender.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_library.h | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 18 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 68 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/group.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lamp.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 57 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mask.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/material.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object_dupli.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/sequencer.c | 6 |
15 files changed, 111 insertions, 104 deletions
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 6886740c1af..9efaad81feb 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -42,7 +42,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 276 -#define BLENDER_SUBVERSION 4 +#define BLENDER_SUBVERSION 5 /* Several breakages with 270, e.g. constraint deg vs rad */ #define BLENDER_MINVERSION 270 #define BLENDER_MINSUBVERSION 5 diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 9a961bafbf9..ff0cad2e5ed 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -102,8 +102,8 @@ void BKE_main_id_tag_idcode(struct Main *mainvar, const short type, const bool t void BKE_main_id_tag_listbase(struct ListBase *lb, const bool tag); void BKE_main_id_tag_all(struct Main *mainvar, const bool tag); -void BKE_main_id_flag_listbase(ListBase *lb, const short flag, const bool value); -void BKE_main_id_flag_all(struct Main *bmain, const short flag, const bool value); +void BKE_main_id_flag_listbase(ListBase *lb, const int flag, const bool value); +void BKE_main_id_flag_all(struct Main *bmain, const int flag, const bool value); void BKE_main_id_clear_newpoins(struct Main *bmain); @@ -129,7 +129,7 @@ void BKE_library_callback_free_editor_id_reference_set(BKE_library_free_editor_i /* use when "" is given to new_id() */ #define ID_FALLBACK_NAME N_("Untitled") -#define IS_TAGGED(_id) ((_id) && (((ID *)_id)->flag & LIB_DOIT)) +#define IS_TAGGED(_id) ((_id) && (((ID *)_id)->tag & LIB_TAG_DOIT)) #ifdef __cplusplus } diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 2ddf01433eb..41950c59a22 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -1596,8 +1596,8 @@ static bool animsys_write_rna_setting(PointerRNA *ptr, char *path, int array_ind /* for cases like duplifarmes it's only a temporary so don't * notify anyone of updates */ - if (!(id->flag & LIB_ANIM_NO_RECALC)) { - id->flag |= LIB_ID_RECALC; + if (!(id->tag & LIB_TAG_ANIM_NO_RECALC)) { + id->tag |= LIB_TAG_ID_RECALC; DAG_id_type_tag(G.main, GS(id->name)); } } @@ -2562,8 +2562,8 @@ static void animsys_evaluate_nla(ListBase *echannels, PointerRNA *ptr, AnimData */ if (ptr->id.data != NULL) { ID *id = ptr->id.data; - if (!(id->flag & LIB_ANIM_NO_RECALC)) { - id->flag |= LIB_ID_RECALC; + if (!(id->tag & LIB_TAG_ANIM_NO_RECALC)) { + id->tag |= LIB_TAG_ID_RECALC; DAG_id_type_tag(G.main, GS(id->name)); } } diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index fc76c298802..8b447379d01 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -963,12 +963,12 @@ Main *BKE_undo_get_main(Scene **r_scene) void BKE_copybuffer_begin(Main *bmain) { /* set all id flags to zero; */ - BKE_main_id_flag_all(bmain, LIB_NEED_EXPAND | LIB_DOIT, false); + BKE_main_id_flag_all(bmain, LIB_TAG_NEED_EXPAND | LIB_TAG_DOIT, false); } void BKE_copybuffer_tag_ID(ID *id) { - id->flag |= LIB_NEED_EXPAND | LIB_DOIT; + id->tag |= LIB_TAG_NEED_EXPAND | LIB_TAG_DOIT; } static void copybuffer_doit(void *UNUSED(handle), Main *UNUSED(bmain), void *vid) @@ -976,8 +976,8 @@ static void copybuffer_doit(void *UNUSED(handle), Main *UNUSED(bmain), void *vid if (vid) { ID *id = vid; /* only tag for need-expand if not done, prevents eternal loops */ - if ((id->flag & LIB_DOIT) == 0) - id->flag |= LIB_NEED_EXPAND | LIB_DOIT; + if ((id->tag & LIB_TAG_DOIT) == 0) + id->tag |= LIB_TAG_NEED_EXPAND | LIB_TAG_DOIT; } } @@ -1006,7 +1006,7 @@ int BKE_copybuffer_save(const char *filename, ReportList *reports) for (id = lb2->first; id; id = nextid) { nextid = id->next; - if (id->flag & LIB_DOIT) { + if (id->tag & LIB_TAG_DOIT) { BLI_remlink(lb2, id); BLI_addtail(lb1, id); } @@ -1033,7 +1033,7 @@ int BKE_copybuffer_save(const char *filename, ReportList *reports) MEM_freeN(mainb); /* set id flag to zero; */ - BKE_main_id_flag_all(G.main, LIB_NEED_EXPAND | LIB_DOIT, false); + BKE_main_id_flag_all(G.main, LIB_TAG_NEED_EXPAND | LIB_TAG_DOIT, false); if (path_list_backup) { BKE_bpath_list_restore(G.main, path_list_flag, path_list_backup); @@ -1064,8 +1064,8 @@ int BKE_copybuffer_paste(bContext *C, const char *libname, ReportList *reports) /* tag everything, all untagged data can be made local * its also generally useful to know what is new * - * take extra care BKE_main_id_flag_all(bmain, LIB_LINK_TAG, false) is called after! */ - BKE_main_id_flag_all(bmain, LIB_PRE_EXISTING, true); + * take extra care BKE_main_id_flag_all(bmain, LIB_TAG_PRE_EXISTING, false) is called after! */ + BKE_main_id_flag_all(bmain, LIB_TAG_PRE_EXISTING, true); /* here appending/linking starts */ mainl = BLO_library_link_begin(bmain, &bh, libname); @@ -1084,7 +1084,7 @@ int BKE_copybuffer_paste(bContext *C, const char *libname, ReportList *reports) /* important we unset, otherwise these object wont * link into other scenes from this blend file */ - BKE_main_id_flag_all(bmain, LIB_PRE_EXISTING, false); + BKE_main_id_flag_all(bmain, LIB_TAG_PRE_EXISTING, false); /* recreate dependency graph to include new objects */ DAG_relations_tag_update(bmain); diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 17faae053eb..e313ad7c2a1 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -398,13 +398,13 @@ static void dag_add_shader_nodetree_driver_relations(DagForest *dag, DagNode *no static void dag_add_material_driver_relations(DagForest *dag, DagNode *node, Material *ma) { /* Prevent infinite recursion by checking (and tagging the material) as having been visited - * already (see build_dag()). This assumes ma->id.flag & LIB_DOIT isn't set by anything else + * already (see build_dag()). This assumes ma->id.tag & LIB_TAG_DOIT isn't set by anything else * in the meantime... [#32017] */ - if (ma->id.flag & LIB_DOIT) + if (ma->id.tag & LIB_TAG_DOIT) return; - ma->id.flag |= LIB_DOIT; + ma->id.tag |= LIB_TAG_DOIT; /* material itself */ if (ma->adt) @@ -418,20 +418,20 @@ static void dag_add_material_driver_relations(DagForest *dag, DagNode *node, Mat if (ma->nodetree) dag_add_shader_nodetree_driver_relations(dag, node, ma->nodetree); - ma->id.flag &= ~LIB_DOIT; + ma->id.tag &= ~LIB_TAG_DOIT; } /* recursive handling for lamp drivers */ static void dag_add_lamp_driver_relations(DagForest *dag, DagNode *node, Lamp *la) { /* Prevent infinite recursion by checking (and tagging the lamp) as having been visited - * already (see build_dag()). This assumes la->id.flag & LIB_DOIT isn't set by anything else + * already (see build_dag()). This assumes la->id.tag & LIB_TAG_DOIT isn't set by anything else * in the meantime... [#32017] */ - if (la->id.flag & LIB_DOIT) + if (la->id.tag & LIB_TAG_DOIT) return; - la->id.flag |= LIB_DOIT; + la->id.tag |= LIB_TAG_DOIT; /* lamp itself */ if (la->adt) @@ -445,7 +445,7 @@ static void dag_add_lamp_driver_relations(DagForest *dag, DagNode *node, Lamp *l if (la->nodetree) dag_add_shader_nodetree_driver_relations(dag, node, la->nodetree); - la->id.flag &= ~LIB_DOIT; + la->id.tag &= ~LIB_TAG_DOIT; } static void check_and_create_collision_relation(DagForest *dag, Object *ob, DagNode *node, Object *ob1, int skip_forcefield, bool no_collision) @@ -903,10 +903,10 @@ static void build_dag_group(DagForest *dag, DagNode *scenenode, Main *bmain, Sce { GroupObject *go; - if (group->id.flag & LIB_DOIT) + if (group->id.tag & LIB_TAG_DOIT) return; - group->id.flag |= LIB_DOIT; + group->id.tag |= LIB_TAG_DOIT; for (go = group->gobject.first; go; go = go->next) { build_dag_object(dag, scenenode, bmain, scene, go->ob, mask); @@ -932,7 +932,7 @@ DagForest *build_dag(Main *bmain, Scene *sce, short mask) sce->theDag = dag; } - /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later [#32017] */ + /* clear "LIB_TAG_DOIT" flag from all materials, to prevent infinite recursion problems later [#32017] */ BKE_main_id_tag_idcode(bmain, ID_MA, false); BKE_main_id_tag_idcode(bmain, ID_LA, false); BKE_main_id_tag_idcode(bmain, ID_GR, false); @@ -1402,15 +1402,15 @@ static void scene_sort_groups(Main *bmain, Scene *sce) /* test; are group objects all in this scene? */ for (ob = bmain->object.first; ob; ob = ob->id.next) { - ob->id.flag &= ~LIB_DOIT; + ob->id.tag &= ~LIB_TAG_DOIT; ob->id.newid = NULL; /* newid abuse for GroupObject */ } for (base = sce->base.first; base; base = base->next) - base->object->id.flag |= LIB_DOIT; + base->object->id.tag |= LIB_TAG_DOIT; for (group = bmain->group.first; group; group = group->id.next) { for (go = group->gobject.first; go; go = go->next) { - if ((go->ob->id.flag & LIB_DOIT) == 0) + if ((go->ob->id.tag & LIB_TAG_DOIT) == 0) break; } /* this group is entirely in this scene */ @@ -1481,7 +1481,7 @@ static bool check_object_tagged_for_update(Object *object) if (ELEM(object->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_LATTICE)) { ID *data_id = object->data; - return (data_id->flag & (LIB_ID_RECALC_DATA | LIB_ID_RECALC)) != 0; + return (data_id->tag & (LIB_TAG_ID_RECALC_DATA | LIB_TAG_ID_RECALC)) != 0; } return false; @@ -1729,13 +1729,13 @@ void DAG_scene_free(Scene *sce) static void lib_id_recalc_tag(Main *bmain, ID *id) { - id->flag |= LIB_ID_RECALC; + id->tag |= LIB_TAG_ID_RECALC; DAG_id_type_tag(bmain, GS(id->name)); } static void lib_id_recalc_data_tag(Main *bmain, ID *id) { - id->flag |= LIB_ID_RECALC_DATA; + id->tag |= LIB_TAG_ID_RECALC_DATA; DAG_id_type_tag(bmain, GS(id->name)); } @@ -2262,10 +2262,10 @@ static void dag_group_update_flags(Main *bmain, Scene *scene, Group *group, cons { GroupObject *go; - if (group->id.flag & LIB_DOIT) + if (group->id.tag & LIB_TAG_DOIT) return; - group->id.flag |= LIB_DOIT; + group->id.tag |= LIB_TAG_DOIT; for (go = group->gobject.first; go; go = go->next) { if (do_time) @@ -2301,7 +2301,7 @@ void DAG_scene_update_flags(Main *bmain, Scene *scene, unsigned int lay, const b dag_object_time_update_flags(bmain, sce_iter, ob); } - /* recursively tag groups with LIB_DOIT, and update flags for objects */ + /* recursively tag groups with LIB_TAG_DOIT, and update flags for objects */ if (ob->dup_group) dag_group_update_flags(bmain, scene, ob->dup_group, do_time); } @@ -2324,12 +2324,12 @@ void DAG_scene_update_flags(Main *bmain, Scene *scene, unsigned int lay, const b /* and store the info in groupobject */ for (group = bmain->group.first; group; group = group->id.next) { - if (group->id.flag & LIB_DOIT) { + if (group->id.tag & LIB_TAG_DOIT) { for (go = group->gobject.first; go; go = go->next) { go->recalc = go->ob->recalc; // printf("ob %s recalc %d\n", go->ob->id.name, go->recalc); } - group->id.flag &= ~LIB_DOIT; + group->id.tag &= ~LIB_TAG_DOIT; } } @@ -2356,14 +2356,14 @@ static void dag_current_scene_layers(Main *bmain, ListBase *lb) /* if we have a windowmanager, look into windows */ if ((wm = bmain->wm.first)) { - BKE_main_id_flag_listbase(&bmain->scene, LIB_DOIT, 1); + BKE_main_id_flag_listbase(&bmain->scene, LIB_TAG_DOIT, 1); for (win = wm->windows.first; win; win = win->next) { if (win->screen && win->screen->scene->theDag) { Scene *scene = win->screen->scene; DagSceneLayer *dsl; - if (scene->id.flag & LIB_DOIT) { + if (scene->id.tag & LIB_TAG_DOIT) { dsl = MEM_mallocN(sizeof(DagSceneLayer), "dag scene layer"); BLI_addtail(lb, dsl); @@ -2371,7 +2371,7 @@ static void dag_current_scene_layers(Main *bmain, ListBase *lb) dsl->scene = scene; dsl->layer = BKE_screen_visible_layers(win->screen, scene); - scene->id.flag &= ~LIB_DOIT; + scene->id.tag &= ~LIB_TAG_DOIT; } else { /* It is possible that multiple windows shares the same scene @@ -2413,20 +2413,20 @@ static void dag_group_on_visible_update(Scene *scene, Group *group) { GroupObject *go; - if (group->id.flag & LIB_DOIT) + if (group->id.tag & LIB_TAG_DOIT) return; - group->id.flag |= LIB_DOIT; + group->id.tag |= LIB_TAG_DOIT; for (go = group->gobject.first; go; go = go->next) { if (ELEM(go->ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL, OB_LATTICE)) { go->ob->recalc |= OB_RECALC_DATA; - go->ob->id.flag |= LIB_DOIT; + go->ob->id.tag |= LIB_TAG_DOIT; lib_id_recalc_tag(G.main, &go->ob->id); } if (go->ob->proxy_from) { go->ob->recalc |= OB_RECALC_OB; - go->ob->id.flag |= LIB_DOIT; + go->ob->id.tag |= LIB_TAG_DOIT; lib_id_recalc_tag(G.main, &go->ob->id); } @@ -2749,7 +2749,7 @@ void DAG_ids_flush_tagged(Main *bmain) * looping over all ID's in case there are no tags */ if (id && bmain->id_tag_update[id->name[0]]) { for (; id; id = id->next) { - if (id->flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA)) { + if (id->tag & (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA)) { for (dsl = listbase.first; dsl; dsl = dsl->next) dag_id_flush_update(bmain, dsl->scene, id); @@ -2874,13 +2874,13 @@ void DAG_ids_clear_recalc(Main *bmain) * looping over all ID's in case there are no tags */ if (id && bmain->id_tag_update[id->name[0]]) { for (; id; id = id->next) { - if (id->flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA)) - id->flag &= ~(LIB_ID_RECALC | LIB_ID_RECALC_DATA); + if (id->tag & (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA)) + id->tag &= ~(LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA); /* some ID's contain semi-datablock nodetree */ ntree = ntreeFromID(id); - if (ntree && (ntree->id.flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA))) - ntree->id.flag &= ~(LIB_ID_RECALC | LIB_ID_RECALC_DATA); + if (ntree && (ntree->id.tag & (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA))) + ntree->id.tag &= ~(LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA); } } } diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c index 96cf0fe574a..4506f932413 100644 --- a/source/blender/blenkernel/intern/group.c +++ b/source/blender/blenkernel/intern/group.c @@ -232,12 +232,12 @@ static bool group_object_cyclic_check_internal(Object *object, Group *group) { if (object->dup_group) { Group *dup_group = object->dup_group; - if ((dup_group->id.flag & LIB_DOIT) == 0) { + if ((dup_group->id.tag & LIB_TAG_DOIT) == 0) { /* Cycle already exists in groups, let's prevent further crappyness */ return true; } /* flag the object to identify cyclic dependencies in further dupli groups */ - dup_group->id.flag &= ~LIB_DOIT; + dup_group->id.tag &= ~LIB_TAG_DOIT; if (dup_group == group) return true; @@ -251,7 +251,7 @@ static bool group_object_cyclic_check_internal(Object *object, Group *group) } /* un-flag the object, it's allowed to have the same group multiple times in parallel */ - dup_group->id.flag |= LIB_DOIT; + dup_group->id.tag |= LIB_TAG_DOIT; } return false; diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 21d8f8dde67..394237f6c14 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -1136,14 +1136,14 @@ void BKE_image_free_all_textures(void) #endif for (ima = G.main->image.first; ima; ima = ima->id.next) - ima->id.flag &= ~LIB_DOIT; + ima->id.tag &= ~LIB_TAG_DOIT; for (tex = G.main->tex.first; tex; tex = tex->id.next) if (tex->ima) - tex->ima->id.flag |= LIB_DOIT; + tex->ima->id.tag |= LIB_TAG_DOIT; for (ima = G.main->image.first; ima; ima = ima->id.next) { - if (ima->cache && (ima->id.flag & LIB_DOIT)) { + if (ima->cache && (ima->id.tag & LIB_TAG_DOIT)) { #ifdef CHECK_FREED_SIZE uintptr_t old_size = image_mem_size(ima); #endif diff --git a/source/blender/blenkernel/intern/lamp.c b/source/blender/blenkernel/intern/lamp.c index 7fcbd9cafb7..9601a93b1f1 100644 --- a/source/blender/blenkernel/intern/lamp.c +++ b/source/blender/blenkernel/intern/lamp.c @@ -265,12 +265,12 @@ static void lamp_node_drivers_update(Scene *scene, bNodeTree *ntree, float ctime void lamp_drivers_update(Scene *scene, Lamp *la, float ctime) { /* Prevent infinite recursion by checking (and tagging the lamp) as having been visited already - * (see BKE_scene_update_tagged()). This assumes la->id.flag & LIB_DOIT isn't set by anything else + * (see BKE_scene_update_tagged()). This assumes la->id.tag & LIB_TAG_DOIT isn't set by anything else * in the meantime... [#32017] */ - if (la->id.flag & LIB_DOIT) + if (la->id.tag & LIB_TAG_DOIT) return; - la->id.flag |= LIB_DOIT; + la->id.tag |= LIB_TAG_DOIT; /* lamp itself */ if (la->adt && la->adt->drivers.first) @@ -280,6 +280,6 @@ void lamp_drivers_update(Scene *scene, Lamp *la, float ctime) if (la->nodetree) lamp_node_drivers_update(scene, la->nodetree, ctime); - la->id.flag &= ~LIB_DOIT; + la->id.tag &= ~LIB_TAG_DOIT; } diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index f1e0bc69dbc..14e21a8b014 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -154,9 +154,9 @@ void id_lib_extern(ID *id) { if (id) { BLI_assert(BKE_idcode_is_linkable(GS(id->name))); - if (id->flag & LIB_INDIRECT) { - id->flag -= LIB_INDIRECT; - id->flag |= LIB_EXTERN; + if (id->tag & LIB_TAG_INDIRECT) { + id->tag -= LIB_TAG_INDIRECT; + id->tag |= LIB_TAG_EXTERN; } } } @@ -223,7 +223,7 @@ void id_fake_user_clear(ID *id) * if the block can be made local. */ bool id_make_local(ID *id, bool test) { - if (id->flag & LIB_INDIRECT) + if (id->tag & LIB_TAG_INDIRECT) return false; switch (GS(id->name)) { @@ -549,21 +549,27 @@ ListBase *which_libbase(Main *mainlib, short type) return NULL; } -/* Flag all ids in listbase */ -void BKE_main_id_flag_listbase(ListBase *lb, const short flag, const bool value) +/** + * Clear or set given flags for all ids in listbase (runtime flags only). + */ +void BKE_main_id_flag_listbase(ListBase *lb, const int flag, const bool value) { ID *id; if (value) { - for (id = lb->first; id; id = id->next) id->flag |= flag; + for (id = lb->first; id; id = id->next) + id->tag |= flag; } else { - const short nflag = ~flag; - for (id = lb->first; id; id = id->next) id->flag &= nflag; + const int nflag = ~flag; + for (id = lb->first; id; id = id->next) + id->tag &= nflag; } } -/* Flag all ids in listbase */ -void BKE_main_id_flag_all(Main *bmain, const short flag, const bool value) +/** + * Clear or set given flags for all ids in bmain (runtime flags only). + */ +void BKE_main_id_flag_all(Main *bmain, const int flag, const bool value) { ListBase *lbarray[MAX_LIBARRAY]; int a; @@ -952,7 +958,7 @@ void *BKE_libblock_copy_ex(Main *bmain, ID *id) } id->newid = idn; - idn->flag |= LIB_NEW; + idn->tag |= LIB_TAG_NEW; BKE_libblock_copy_data(idn, id, false); @@ -978,7 +984,7 @@ void *BKE_libblock_copy_nolib(ID *id, const bool do_action) } id->newid = idn; - idn->flag |= LIB_NEW; + idn->tag |= LIB_TAG_NEW; idn->us = 1; BKE_libblock_copy_data(idn, id, do_action); @@ -1000,8 +1006,8 @@ static bool id_relink_looper(void *UNUSED(user_data), ID **id_pointer, const int BKE_library_update_ID_link_user(id->newid, id, cd_flag); *id_pointer = id->newid; } - else if (id->flag & LIB_NEW) { - id->flag &= ~LIB_NEW; + else if (id->tag & LIB_TAG_NEW) { + id->tag &= ~LIB_TAG_NEW; BKE_libblock_relink(id); } } @@ -1632,7 +1638,7 @@ void id_clear_lib_data(Main *bmain, ID *id) id_fake_user_clear(id); id->lib = NULL; - id->flag = LIB_LOCAL; + id->tag |= LIB_TAG_LOCAL; new_id(which_libbase(bmain, GS(id->name)), id, NULL); /* internal bNodeTree blocks inside ID types below @@ -1666,7 +1672,7 @@ void BKE_main_id_clear_newpoins(Main *bmain) id = lbarray[a]->first; while (id) { id->newid = NULL; - id->flag &= ~LIB_NEW; + id->tag &= ~LIB_TAG_NEW; id = id->next; } } @@ -1674,7 +1680,8 @@ void BKE_main_id_clear_newpoins(Main *bmain) static void lib_indirect_test_id(ID *id, Library *lib) { -#define LIBTAG(a) if (a && a->id.lib) { a->id.flag &= ~LIB_INDIRECT; a->id.flag |= LIB_EXTERN; } (void)0 +#define LIBTAG(a) \ + if (a && a->id.lib) { a->id.tag &= ~LIB_TAG_INDIRECT; a->id.tag |= LIB_TAG_EXTERN; } (void)0 if (id->lib) { /* datablocks that were indirectly related are now direct links @@ -1723,12 +1730,12 @@ void BKE_main_id_tag_listbase(ListBase *lb, const bool tag) ID *id; if (tag) { for (id = lb->first; id; id = id->next) { - id->flag |= LIB_DOIT; + id->tag |= LIB_TAG_DOIT; } } else { for (id = lb->first; id; id = id->next) { - id->flag &= ~LIB_DOIT; + id->tag &= ~LIB_TAG_DOIT; } } } @@ -1767,27 +1774,27 @@ void BKE_library_make_local(Main *bmain, Library *lib, bool untagged_only) id->newid = NULL; idn = id->next; /* id is possibly being inserted again */ - /* The check on the second line (LIB_PRE_EXISTING) is done so its + /* The check on the second line (LIB_TAG_PRE_EXISTING) is done so its * possible to tag data you don't want to be made local, used for * appending data, so any libdata already linked wont become local * (very nasty to discover all your links are lost after appending) * */ - if (id->flag & (LIB_EXTERN | LIB_INDIRECT | LIB_NEW) && - ((untagged_only == false) || !(id->flag & LIB_PRE_EXISTING))) + if (id->tag & (LIB_TAG_EXTERN | LIB_TAG_INDIRECT | LIB_TAG_NEW) && + ((untagged_only == false) || !(id->tag & LIB_TAG_PRE_EXISTING))) { if (lib == NULL || id->lib == lib) { if (id->lib) { /* for Make Local > All we should be calling id_make_local, * but doing that breaks append (see #36003 and #36006), we * we should make it work with all datablocks and id.us==0 */ - id_clear_lib_data(bmain, id); /* sets 'id->flag' */ + id_clear_lib_data(bmain, id); /* sets 'id->tag' */ /* why sort alphabetically here but not in * id_clear_lib_data() ? - campbell */ id_sort_by_name(lbarray[a], id); } else { - id->flag &= ~(LIB_EXTERN | LIB_INDIRECT | LIB_NEW); + id->tag &= ~(LIB_TAG_EXTERN | LIB_TAG_INDIRECT | LIB_TAG_NEW); } } } diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c index cd26691c3e1..12db3a87ba0 100644 --- a/source/blender/blenkernel/intern/mask.c +++ b/source/blender/blenkernel/intern/mask.c @@ -1589,8 +1589,8 @@ void BKE_mask_update_scene(Main *bmain, Scene *scene) Mask *mask; for (mask = bmain->mask.first; mask; mask = mask->id.next) { - if (mask->id.flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA)) { - bool do_new_frame = (mask->id.flag & LIB_ID_RECALC_DATA) != 0; + if (mask->id.tag & (LIB_TAG_ID_RECALC | LIB_TAG_ID_RECALC_DATA)) { + bool do_new_frame = (mask->id.tag & LIB_TAG_ID_RECALC_DATA) != 0; BKE_mask_evaluate_all_masks(bmain, CFRA, do_new_frame); } } diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index b913e6de433..809b45d4b36 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -1312,13 +1312,13 @@ void material_drivers_update(Scene *scene, Material *ma, float ctime) // printf("material_drivers_update(%s, %s)\n", scene->id.name, ma->id.name); /* Prevent infinite recursion by checking (and tagging the material) as having been visited already - * (see BKE_scene_update_tagged()). This assumes ma->id.flag & LIB_DOIT isn't set by anything else + * (see BKE_scene_update_tagged()). This assumes ma->id.tag & LIB_TAG_DOIT isn't set by anything else * in the meantime... [#32017] */ - if (ma->id.flag & LIB_DOIT) + if (ma->id.tag & LIB_TAG_DOIT) return; - ma->id.flag |= LIB_DOIT; + ma->id.tag |= LIB_TAG_DOIT; /* material itself */ if (ma->adt && ma->adt->drivers.first) { @@ -1330,7 +1330,7 @@ void material_drivers_update(Scene *scene, Material *ma, float ctime) material_node_drivers_update(scene, ma->nodetree, ctime); } - ma->id.flag &= ~LIB_DOIT; + ma->id.tag &= ~LIB_TAG_DOIT; } bool object_remove_material_slot(Object *ob) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 70da0111752..89f22b8e742 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1802,7 +1802,7 @@ void BKE_object_make_proxy(Object *ob, Object *target, Object *gob) /* set object type and link to data */ ob->type = target->type; ob->data = target->data; - id_us_plus((ID *)ob->data); /* ensures lib data becomes LIB_EXTERN */ + id_us_plus((ID *)ob->data); /* ensures lib data becomes LIB_TAG_EXTERN */ /* copy material and index information */ ob->actcol = ob->totcol = 0; @@ -3795,13 +3795,13 @@ static Object *obrel_armature_find(Object *ob) static bool obrel_list_test(Object *ob) { - return ob && !(ob->id.flag & LIB_DOIT); + return ob && !(ob->id.tag & LIB_TAG_DOIT); } static void obrel_list_add(LinkNode **links, Object *ob) { BLI_linklist_prepend(links, ob); - ob->id.flag |= LIB_DOIT; + ob->id.tag |= LIB_TAG_DOIT; } /* @@ -3819,7 +3819,7 @@ LinkNode *BKE_object_relational_superset(struct Scene *scene, eObjectSet objectS /* Remove markers from all objects */ for (base = scene->base.first; base; base = base->next) { - base->object->id.flag &= ~LIB_DOIT; + base->object->id.tag &= ~LIB_TAG_DOIT; } /* iterate over all selected and visible objects */ diff --git a/source/blender/blenkernel/intern/object_dupli.c b/source/blender/blenkernel/intern/object_dupli.c index 8abe4bdbb97..5da9fcbb4fe 100644 --- a/source/blender/blenkernel/intern/object_dupli.c +++ b/source/blender/blenkernel/intern/object_dupli.c @@ -354,7 +354,7 @@ static void make_duplis_frames(const DupliContext *ctx) /* special flag to avoid setting recalc flags to notify the depsgraph of * updates, as this is not a permanent change to the object */ - ob->id.flag |= LIB_ANIM_NO_RECALC; + ob->id.tag |= LIB_TAG_ANIM_NO_RECALC; for (scene->r.cfra = ob->dupsta; scene->r.cfra <= dupend; scene->r.cfra++) { int ok = 1; diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 73d211f5c44..9f0a49ba1bc 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -1757,8 +1757,8 @@ static void prepare_mesh_for_viewport_render(Main *bmain, Scene *scene) if (obedit) { Mesh *mesh = obedit->data; if ((obedit->type == OB_MESH) && - ((obedit->id.flag & LIB_ID_RECALC_ALL) || - (mesh->id.flag & LIB_ID_RECALC_ALL))) + ((obedit->id.tag & LIB_TAG_ID_RECALC_ALL) || + (mesh->id.tag & LIB_TAG_ID_RECALC_ALL))) { if (check_rendered_viewport_visible(bmain)) { BMesh *bm = mesh->edit_btmesh->bm; @@ -1801,7 +1801,7 @@ void BKE_scene_update_tagged(EvaluationContext *eval_ctx, Main *bmain, Scene *sc /* removed calls to quick_cache, see pointcache.c */ - /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later + /* clear "LIB_TAG_DOIT" flag from all materials, to prevent infinite recursion problems later * when trying to find materials with drivers that need evaluating [#32017] */ BKE_main_id_tag_idcode(bmain, ID_MA, false); @@ -1960,7 +1960,7 @@ void BKE_scene_update_for_newframe_ex(EvaluationContext *eval_ctx, Main *bmain, } #endif - /* clear "LIB_DOIT" flag from all materials, to prevent infinite recursion problems later + /* clear "LIB_TAG_DOIT" flag from all materials, to prevent infinite recursion problems later * when trying to find materials with drivers that need evaluating [#32017] */ BKE_main_id_tag_idcode(bmain, ID_MA, false); diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 7c420549a0d..588f591b2d1 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -3402,16 +3402,16 @@ static ImBuf *do_render_strip_uncached(const SeqRenderData *context, Sequence *s if (seq->scene && (context->scene != seq->scene)) { #ifdef USE_SCENE_RECURSIVE_HACK /* weak recusrive check, same as T32017 */ - if (seq->scene->id.flag & LIB_DOIT) { + if (seq->scene->id.tag & LIB_TAG_DOIT) { break; } - seq->scene->id.flag |= LIB_DOIT; + seq->scene->id.tag |= LIB_TAG_DOIT; #endif ibuf = do_render_strip_seqbase(context, seq, nr, use_preprocess); #ifdef USE_SCENE_RECURSIVE_HACK - seq->scene->id.flag &= ~LIB_DOIT; + seq->scene->id.tag &= ~LIB_TAG_DOIT; #endif } } |