Blender Git Loki
Git Commits -> Revision 3a86873
Revision 3a86873 by Bastien Montagne (asset-engine, asset-engine--archived, id_copy_refactor, id_override_static) June 20, 2017, 15:55 (GMT) |
Make object copying fully compatible/aware of new copy flag system. (continuation of previous WIP commit, sorry about that one :/ ). This commits changes quite a few things, distributing new copying flags into sub-data copying code (mostly concerns ID refcounting or not). It also removes ID refcounting handling from Modifiers' copy callback (this was ugly from the start, proved to be problematic in current master, and generally bad practice). This is now done by calling code. Also, it brings back ID refcounting handling to main BKE_library's copy code, which means in generic ID copying lower-level IDType-specific copy code should not use it at all. Support at lower-level remains needed though, unfortunately, to cope with partial copying tools etc. |
Commit Details:
Full Hash: 3a86873b68b809165c46f58512ac0fbcc889d8cd
Parent Commit: 596c20c
Lines Changed: +235, -184
25 Modified Paths:
/source/blender/blenkernel/BKE_action.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_constraint.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_idprop.h (+2, -1) (Diff)
/source/blender/blenkernel/BKE_library.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_object.h (+5, -5) (Diff)
/source/blender/blenkernel/BKE_pointcache.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_rigidbody.h (+3, -3) (Diff)
/source/blender/blenkernel/BKE_sca.h (+7, -7) (Diff)
/source/blender/blenkernel/intern/action.c (+10, -6) (Diff)
/source/blender/blenkernel/intern/constraint.c (+15, -9) (Diff)
/source/blender/blenkernel/intern/idprop.c (+29, -22) (Diff)
/source/blender/blenkernel/intern/library.c (+37, -7) (Diff)
/source/blender/blenkernel/intern/modifier.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/object.c (+80, -68) (Diff)
/source/blender/blenkernel/intern/pointcache.c (+5, -4) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+5, -4) (Diff)
/source/blender/blenkernel/intern/sca.c (+17, -15) (Diff)
/source/blender/blenkernel/intern/scene.c (+1, -1) (Diff)
/source/blender/editors/object/object_edit.c (+9, -9) (Diff)
/source/blender/editors/physics/particle_object.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -5) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+0, -4) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+1, -5) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+1, -5) (Diff)
/source/blender/blenkernel/BKE_constraint.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_idprop.h (+2, -1) (Diff)
/source/blender/blenkernel/BKE_library.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_object.h (+5, -5) (Diff)
/source/blender/blenkernel/BKE_pointcache.h (+1, -1) (Diff)
/source/blender/blenkernel/BKE_rigidbody.h (+3, -3) (Diff)
/source/blender/blenkernel/BKE_sca.h (+7, -7) (Diff)
/source/blender/blenkernel/intern/action.c (+10, -6) (Diff)
/source/blender/blenkernel/intern/constraint.c (+15, -9) (Diff)
/source/blender/blenkernel/intern/idprop.c (+29, -22) (Diff)
/source/blender/blenkernel/intern/library.c (+37, -7) (Diff)
/source/blender/blenkernel/intern/modifier.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/object.c (+80, -68) (Diff)
/source/blender/blenkernel/intern/pointcache.c (+5, -4) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+5, -4) (Diff)
/source/blender/blenkernel/intern/sca.c (+17, -15) (Diff)
/source/blender/blenkernel/intern/scene.c (+1, -1) (Diff)
/source/blender/editors/object/object_edit.c (+9, -9) (Diff)
/source/blender/editors/physics/particle_object.c (+1, -1) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -5) (Diff)
/source/blender/modifiers/intern/MOD_weightvgedit.c (+0, -4) (Diff)
/source/blender/modifiers/intern/MOD_weightvgmix.c (+1, -5) (Diff)
/source/blender/modifiers/intern/MOD_weightvgproximity.c (+1, -5) (Diff)