From e5a110719ff0ea04cd138e4f60c74ff8fc164287 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 3 Feb 2022 14:00:12 +0100 Subject: Fix T91254: Some editing operation indirectly delete objects from override collections. Those cases are fairly hard to track down... Added some more checks, also at lower levels, more generic levels of object editing, and fixed core check in liboverride (previously code was assuming that an override of a collection only could have overrides of objects or linked objects, but this is not necessarily true). --- source/blender/blenkernel/intern/lib_override.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'source/blender/blenkernel/intern') diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c index c4c5200cfdf..226b2ea636a 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -3001,10 +3001,6 @@ void BKE_lib_override_library_main_update(Main *bmain) bool BKE_lib_override_library_id_is_user_deletable(struct Main *bmain, struct ID *id) { - if (!(ID_IS_LINKED(id) || ID_IS_OVERRIDE_LIBRARY(id))) { - return true; - } - /* The only strong known case currently are objects used by override collections. */ /* TODO: There are most likely other cases... This may need to be addressed in a better way at * some point. */ -- cgit v1.2.3