forked from bartvdbraak/blender
Fix (unreported) broken deletion of Shapekeys alongside their owner ID.
Trying to get shape key pointer after having unlinked its owner from Main data-base is rather useless... So those shapekeys ended up never being deleted.
This commit is contained in:
parent
bb63ce9839
commit
a5ded0720c
@ -144,15 +144,14 @@ void BKE_id_free_ex(Main *bmain, void *idv, int flag, const bool use_flag_from_i
|
||||
}
|
||||
#endif
|
||||
|
||||
Key *key = ((flag & LIB_ID_FREE_NO_MAIN) == 0) ? BKE_key_from_id(id) : NULL;
|
||||
|
||||
if ((flag & LIB_ID_FREE_NO_USER_REFCOUNT) == 0) {
|
||||
BKE_libblock_relink_ex(bmain, id, NULL, NULL, 0);
|
||||
}
|
||||
|
||||
if ((flag & LIB_ID_FREE_NO_MAIN) == 0) {
|
||||
Key *key = BKE_key_from_id(id);
|
||||
if (key != NULL) {
|
||||
BKE_id_free_ex(bmain, &key->id, flag, use_flag_from_idtag);
|
||||
}
|
||||
if ((flag & LIB_ID_FREE_NO_MAIN) == 0 && key != NULL) {
|
||||
BKE_id_free_ex(bmain, &key->id, flag, use_flag_from_idtag);
|
||||
}
|
||||
|
||||
BKE_libblock_free_datablock(id, flag);
|
||||
|
Loading…
Reference in New Issue
Block a user