[Bf-blender-cvs] [f0f46e9] libquery-recursive: Rework library_query foreach looper - add optional recursivity.

Bastien Montagne noreply at git.blender.org
Wed Mar 23 17:08:15 CET 2016


Commit: f0f46e9ef65cf0bd820f33d9dd44e2e58da8bb81
Author: Bastien Montagne
Date:   Wed Mar 23 13:00:24 2016 +0100
Branches: libquery-recursive
https://developer.blender.org/rBf0f46e9ef65cf0bd820f33d9dd44e2e58da8bb81

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, would obviously be committed separately.

Reviewers: sergey, campbellbarton

Differential Revision: https://developer.blender.org/D1869

===================================================================



===================================================================






More information about the Bf-blender-cvs mailing list