[Bf-blender-cvs] [11be9edae26] master: Fix missing proper 'make local' call for liboverrides from outliner.
Bastien Montagne
noreply at git.blender.org
Tue Oct 5 17:07:15 CEST 2021
Commit: 11be9edae263194d0ce4fa0d43ad44f04db9a491
Author: Bastien Montagne
Date: Tue Oct 5 17:04:35 2021 +0200
Branches: master
https://developer.blender.org/rB11be9edae263194d0ce4fa0d43ad44f04db9a491
Fix missing proper 'make local' call for liboverrides from outliner.
Also includes minor improvements to
`BKE_lib_override_library_make_local` itself.
This is a complement to rB37458798fa02c.
===================================================================
M source/blender/blenkernel/intern/lib_override.c
M source/blender/editors/space_outliner/outliner_tools.c
===================================================================
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index 68675e5fc91..59e431b737c 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1918,6 +1918,16 @@ void BKE_lib_override_library_delete(Main *bmain, ID *id_root)
*/
void BKE_lib_override_library_make_local(ID *id)
{
+ if (!ID_IS_OVERRIDE_LIBRARY(id)) {
+ return;
+ }
+ if (ID_IS_OVERRIDE_LIBRARY_VIRTUAL(id)) {
+ /* We should never directly 'make local' virtual overrides (aka shape keys). */
+ BLI_assert_unreachable();
+ id->flag &= ~LIB_EMBEDDED_DATA_LIB_OVERRIDE;
+ return;
+ }
+
BKE_lib_override_library_free(&id->override_library, true);
Key *shape_key = BKE_key_from_id(id);
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
index 9e314701719..75bdc5dbac6 100644
--- a/source/blender/editors/space_outliner/outliner_tools.c
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -742,7 +742,7 @@ static void id_local_fn(bContext *C,
}
}
else if (ID_IS_OVERRIDE_LIBRARY_REAL(tselem->id)) {
- BKE_lib_override_library_free(&tselem->id->override_library, true);
+ BKE_lib_override_library_make_local(tselem->id);
}
}
More information about the Bf-blender-cvs
mailing list