diff options
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_library_override.h | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library_override.c | 13 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/undo_system.c | 4 |
3 files changed, 19 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_library_override.h b/source/blender/blenkernel/BKE_library_override.h index 4792d203d23..b6642bfa726 100644 --- a/source/blender/blenkernel/BKE_library_override.h +++ b/source/blender/blenkernel/BKE_library_override.h @@ -38,6 +38,9 @@ struct IDOverrideStaticProperty; struct IDOverrideStaticPropertyOperation; struct Main; +void BKE_override_static_enable(const bool do_enable); +bool BKE_override_static_is_enabled(void); + struct IDOverrideStatic *BKE_override_static_init(struct ID *local_id, struct ID *reference_id); void BKE_override_static_copy(struct ID *dst_id, const struct ID *src_id); void BKE_override_static_clear(struct IDOverrideStatic *override); diff --git a/source/blender/blenkernel/intern/library_override.c b/source/blender/blenkernel/intern/library_override.c index 35437c1c9b9..714730b2f52 100644 --- a/source/blender/blenkernel/intern/library_override.c +++ b/source/blender/blenkernel/intern/library_override.c @@ -59,6 +59,19 @@ static void bke_override_property_operation_copy(IDOverrideStaticPropertyOperati static void bke_override_property_clear(IDOverrideStaticProperty *op); static void bke_override_property_operation_clear(IDOverrideStaticPropertyOperation *opop); +/* Temp, for until static override is ready and tested enough to go 'public', we hide it by default in UI and such. */ +static bool _override_static_enabled = false; + +void BKE_override_static_enable(const bool do_enable) +{ + _override_static_enabled = do_enable; +} + +bool BKE_override_static_is_enabled() +{ + return _override_static_enabled; +} + /** Initialize empty overriding of \a reference_id by \a local_id. */ IDOverrideStatic *BKE_override_static_init(ID *local_id, ID *reference_id) { diff --git a/source/blender/blenkernel/intern/undo_system.c b/source/blender/blenkernel/intern/undo_system.c index 0eb209cabeb..ae98a765124 100644 --- a/source/blender/blenkernel/intern/undo_system.c +++ b/source/blender/blenkernel/intern/undo_system.c @@ -425,7 +425,9 @@ bool BKE_undosys_step_push_with_type(UndoStack *ustack, bContext *C, const char /* Might not be final place for this to be called - probably only want to call it from some * undo handlers, not all of them? */ - BKE_main_override_static_operations_create(G.main, false); + if (BKE_override_static_is_enabled()) { + BKE_main_override_static_operations_create(G.main, false); + } /* Remove all undos after (also when 'ustack->step_active == NULL'). */ while (ustack->steps.last != ustack->step_active) { |