diff options
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/nodeitems_utils.py | 8 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_node.py | 12 |
2 files changed, 15 insertions, 5 deletions
diff --git a/release/scripts/modules/nodeitems_utils.py b/release/scripts/modules/nodeitems_utils.py index 595b6c8ee5f..d1e1cc5e346 100644 --- a/release/scripts/modules/nodeitems_utils.py +++ b/release/scripts/modules/nodeitems_utils.py @@ -144,6 +144,14 @@ def node_categories_iter(context): yield cat +def has_node_categories(context): + for cat_type in _node_categories.values(): + for cat in cat_type[0]: + if cat.poll and ((context is None) or cat.poll(context)): + return True + return False + + def node_items_iter(context): for cat in node_categories_iter(context): for item in cat.items(context): diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index faf4036f9b3..93be870ce73 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -216,13 +216,15 @@ class NODE_MT_add(bpy.types.Menu): layout = self.layout layout.operator_context = 'INVOKE_DEFAULT' - props = layout.operator("node.add_search", text="Search...", icon='VIEWZOOM') - props.use_transform = True - layout.separator() + if nodeitems_utils.has_node_categories(context): + props = layout.operator("node.add_search", text="Search...", icon='VIEWZOOM') + props.use_transform = True + + layout.separator() - # actual node submenus are defined by draw functions from node categories - nodeitems_utils.draw_node_categories_menu(self, context) + # actual node submenus are defined by draw functions from node categories + nodeitems_utils.draw_node_categories_menu(self, context) class NODE_MT_view(Menu): |