Blender Git Loki

Git Commits -> Revision 827b145

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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021