Fix T62393: Materials made from 'Make Single User' have linked animation.
`id_single_user()` was still code from older ID management, now we can use modern code to handle animdata duplication for us (which allows to keep handling of nasty sub-data ID horrors like nodtrees in a single place, much safer and simpler).
This commit is contained in:
parent
81a7f6c848
commit
1cc8f9d463
Notes:
blender-bot
2023-02-14 03:26:02 +01:00
Referenced by issue #62393, Materials made from 'Make Single User' have linked animation
|
@ -770,9 +770,8 @@ bool id_single_user(bContext *C, ID *id, PointerRNA *ptr, PropertyRNA *prop)
|
|||
/* if property isn't editable, we're going to have an extra block hanging around until we save */
|
||||
if (RNA_property_editable(ptr, prop)) {
|
||||
Main *bmain = CTX_data_main(C);
|
||||
if (BKE_id_copy(bmain, id, &newid) && newid) {
|
||||
/* copy animation actions too */
|
||||
BKE_animdata_copy_id_action(bmain, id, false);
|
||||
/* copy animation actions too */
|
||||
if (BKE_id_copy_ex(bmain, id, &newid, LIB_ID_COPY_DEFAULT | LIB_ID_COPY_ACTIONS) && newid) {
|
||||
/* us is 1 by convention with new IDs, but RNA_property_pointer_set
|
||||
* will also increment it, decrement it here. */
|
||||
id_us_min(newid);
|
||||
|
|
Loading…
Reference in New Issue