Blender Git Loki
Git Commits -> Revision dca705d
Revision dca705d by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 7, 2015, 18:32 (GMT) |
Huuuuuuuge commit - replace ugly scene/object/group_unlink by new generic libblock_unlink. Previous situation was pretty much horrible, a few data types having their own coocking to unlink, often doing more than only unlinking, often doing the same thing two times or more, often messing with areas they should not have touched (like editors from withing BKE)... Now we hope to have something generic, working the same way for all ID types (we do have to add some specific handling for groups/objects/scene unfortunately, but this remains reasonable). Needless to say such a change is calling for troubles - I tried to follow and reproduce as best as I could previous code, but most likely some areas will become buggy. Do not think previous code was 100% correct anyway, things like Objects have a really big and complicated usage of IDs... Also, foreach_id tool has been enhanced, again for complex types like objects & co, we should cover much better all possible IDs now (e.g. rigidbody & logic bricks were totally missing from there). And there is more to come... |
Commit Details:
Full Hash: dca705d1c329af4222997a3801d29d82661ad821
Parent Commit: ad8fa26
Lines Changed: +344, -754
37 Modified Paths:
/source/blender/blenkernel/BKE_group.h (+0, -1) (Diff)
/source/blender/blenkernel/BKE_library.h (+4, -3) (Diff)
/source/blender/blenkernel/BKE_linestyle.h (+0, -2) (Diff)
/source/blender/blenkernel/BKE_object.h (+0, -1) (Diff)
/source/blender/blenkernel/BKE_particle.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_rigidbody.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_sca.h (+1, -2) (Diff)
/source/blender/blenkernel/BKE_scene.h (+2, -1) (Diff)
/source/blender/blenkernel/BKE_screen.h (+3, -3) (Diff)
/source/blender/blenkernel/intern/group.c (+2, -68) (Diff)
/source/blender/blenkernel/intern/library.c (+71, -41) (Diff)
/source/blender/blenkernel/intern/library_query.c (+129, -71) (Diff)
/source/blender/blenkernel/intern/linestyle.c (+0, -27) (Diff)
/source/blender/blenkernel/intern/object.c (+0, -386) (Diff)
/source/blender/blenkernel/intern/particle_system.c (+25, -0) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+15, -0) (Diff)
/source/blender/blenkernel/intern/sca.c (+0, -71) (Diff)
/source/blender/blenkernel/intern/scene.c (+3, -35) (Diff)
/source/blender/blenkernel/intern/screen.c (+4, -4) (Diff)
/source/blender/editors/include/ED_util.h (+1, -1) (Diff)
/source/blender/editors/object/object_add.c (+0, -2) (Diff)
/source/blender/editors/object/object_group.c (+3, -1) (Diff)
/source/blender/editors/screen/screen_edit.c (+3, -1) (Diff)
/source/blender/editors/space_buttons/space_buttons.c (+1, -1) (Diff)
/source/blender/editors/space_clip/space_clip.c (+1, -1) (Diff)
/source/blender/editors/space_image/space_image.c (+1, -1) (Diff)
/source/blender/editors/space_logic/space_logic.c (+1, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+1, -1) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+4, -2) (Diff)
/source/blender/editors/space_outliner/space_outliner.c (+1, -1) (Diff)
/source/blender/editors/space_sequencer/space_sequencer.c (+1, -1) (Diff)
/source/blender/editors/space_text/space_text.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+47, -16) (Diff)
/source/blender/editors/util/ed_util.c (+2, -2) (Diff)
/source/blender/makesrna/intern/rna_main_api.c (+4, -3) (Diff)
/source/blender/render/intern/source/pipeline.c (+2, -1) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+1, -1) (Diff)
/source/blender/blenkernel/BKE_library.h (+4, -3) (Diff)
/source/blender/blenkernel/BKE_linestyle.h (+0, -2) (Diff)
/source/blender/blenkernel/BKE_object.h (+0, -1) (Diff)
/source/blender/blenkernel/BKE_particle.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_rigidbody.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_sca.h (+1, -2) (Diff)
/source/blender/blenkernel/BKE_scene.h (+2, -1) (Diff)
/source/blender/blenkernel/BKE_screen.h (+3, -3) (Diff)
/source/blender/blenkernel/intern/group.c (+2, -68) (Diff)
/source/blender/blenkernel/intern/library.c (+71, -41) (Diff)
/source/blender/blenkernel/intern/library_query.c (+129, -71) (Diff)
/source/blender/blenkernel/intern/linestyle.c (+0, -27) (Diff)
/source/blender/blenkernel/intern/object.c (+0, -386) (Diff)
/source/blender/blenkernel/intern/particle_system.c (+25, -0) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+15, -0) (Diff)
/source/blender/blenkernel/intern/sca.c (+0, -71) (Diff)
/source/blender/blenkernel/intern/scene.c (+3, -35) (Diff)
/source/blender/blenkernel/intern/screen.c (+4, -4) (Diff)
/source/blender/editors/include/ED_util.h (+1, -1) (Diff)
/source/blender/editors/object/object_add.c (+0, -2) (Diff)
/source/blender/editors/object/object_group.c (+3, -1) (Diff)
/source/blender/editors/screen/screen_edit.c (+3, -1) (Diff)
/source/blender/editors/space_buttons/space_buttons.c (+1, -1) (Diff)
/source/blender/editors/space_clip/space_clip.c (+1, -1) (Diff)
/source/blender/editors/space_image/space_image.c (+1, -1) (Diff)
/source/blender/editors/space_logic/space_logic.c (+1, -1) (Diff)
/source/blender/editors/space_node/space_node.c (+1, -1) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+4, -2) (Diff)
/source/blender/editors/space_outliner/space_outliner.c (+1, -1) (Diff)
/source/blender/editors/space_sequencer/space_sequencer.c (+1, -1) (Diff)
/source/blender/editors/space_text/space_text.c (+1, -1) (Diff)
/source/blender/editors/space_view3d/space_view3d.c (+47, -16) (Diff)
/source/blender/editors/util/ed_util.c (+2, -2) (Diff)
/source/blender/makesrna/intern/rna_main_api.c (+4, -3) (Diff)
/source/blender/render/intern/source/pipeline.c (+2, -1) (Diff)
/source/blender/windowmanager/intern/wm_event_system.c (+1, -1) (Diff)