Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/undo/memfile_undo.c
| Show First 20 Lines • Show All 228 Lines • ▼ Show 20 Lines | if (use_old_bmain_data) { | ||||
| FOREACH_MAIN_ID_BEGIN (bmain, id) { | FOREACH_MAIN_ID_BEGIN (bmain, id) { | ||||
| /* Clear temporary tag. */ | /* Clear temporary tag. */ | ||||
| id->tag &= ~LIB_TAG_UNDO_OLD_ID_REUSED; | id->tag &= ~LIB_TAG_UNDO_OLD_ID_REUSED; | ||||
| /* We only start accumulating from this point, any tags set up to here | /* We only start accumulating from this point, any tags set up to here | ||||
| * are already part of the current undo state. This is done in a second | * are already part of the current undo state. This is done in a second | ||||
| * loop because DEG_id_tag_update may set tags on other datablocks. */ | * loop because DEG_id_tag_update may set tags on other datablocks. */ | ||||
| id->recalc_undo_accumulated = 0; | id->recalc_after_undo_push = 0; | ||||
| bNodeTree *nodetree = ntreeFromID(id); | bNodeTree *nodetree = ntreeFromID(id); | ||||
| if (nodetree != NULL) { | if (nodetree != NULL) { | ||||
| nodetree->id.recalc_undo_accumulated = 0; | nodetree->id.recalc_after_undo_push = 0; | ||||
| } | } | ||||
| if (GS(id->name) == ID_SCE) { | if (GS(id->name) == ID_SCE) { | ||||
| Scene *scene = (Scene *)id; | Scene *scene = (Scene *)id; | ||||
| if (scene->master_collection != NULL) { | if (scene->master_collection != NULL) { | ||||
| scene->master_collection->id.recalc_undo_accumulated = 0; | scene->master_collection->id.recalc_after_undo_push = 0; | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| FOREACH_MAIN_ID_END; | FOREACH_MAIN_ID_END; | ||||
| } | } | ||||
| WM_event_add_notifier(C, NC_SCENE | ND_LAYER_CONTENT, CTX_data_scene(C)); | WM_event_add_notifier(C, NC_SCENE | ND_LAYER_CONTENT, CTX_data_scene(C)); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 57 Lines • Show Last 20 Lines | |||||