Blender Git Loki
Git Commits -> Revision 827b145
Revision 827b145 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap, libquery-recursive) February 18, 2016, 16:53 (GMT) |
Rework library_query foreach looper - add optional recursivity. This commit: * Fixes bad handling of 'stop iteration' (by adding a status flag, so that we can actually stop in helper functions too, and jumping to a finalize label instead of raw return, to allow propper clean up). * Adds optional recursion into 'ID tree' - callback can also decide to exclude current id_pp from recursion. Note that this implies 'readonly', modifying IDs while recursing is not something we want to support! * Changes callback signature/expected behavior: return behavior is now handled through flags, and 'parent' ID of id_pp is also passed (since it may not always be root id anymore). Used this new recursive behavior in ID preview generation as an example, still needs more testing! |
Commit Details:
Full Hash: 827b1457ca9e76f627e8c88cf883847fc3ae3267
Parent Commit: a8e6b63
Lines Changed: +486, -417
6 Modified Paths:
/source/blender/blenkernel/BKE_library_query.h (+11, -3) (Diff)
/source/blender/blenkernel/intern/library.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/library_query.c (+445, -380) (Diff)
/source/blender/editors/object/object_relations.c (+4, -2) (Diff)
/source/blender/python/intern/bpy_rna_id_collection.c (+5, -4) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+19, -26) (Diff)
/source/blender/blenkernel/intern/library.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/library_query.c (+445, -380) (Diff)
/source/blender/editors/object/object_relations.c (+4, -2) (Diff)
/source/blender/python/intern/bpy_rna_id_collection.c (+5, -4) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+19, -26) (Diff)