diff options
Diffstat (limited to 'release/scripts/modules/nodeitems_utils.py')
-rw-r--r-- | release/scripts/modules/nodeitems_utils.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/release/scripts/modules/nodeitems_utils.py b/release/scripts/modules/nodeitems_utils.py index 2882a08fbd4..2f69ea84386 100644 --- a/release/scripts/modules/nodeitems_utils.py +++ b/release/scripts/modules/nodeitems_utils.py @@ -37,13 +37,17 @@ class NodeCategory: else: def items_gen(context): for item in items: - if item.poll is None or item.poll(context): + if item.poll is None or context is None or item.poll(context): yield item self.items = items_gen class NodeItem: - def __init__(self, nodetype, label=None, settings={}, poll=None): + def __init__(self, nodetype, label=None, settings=None, poll=None): + + if settings is None: + settings = {} + self.nodetype = nodetype self._label = label self.settings = settings @@ -136,7 +140,7 @@ def register_node_categories(identifier, cat_list): def node_categories_iter(context): for cat_type in _node_categories.values(): for cat in cat_type[0]: - if cat.poll and cat.poll(context): + if cat.poll and ((context is None) or cat.poll(context)): yield cat |