Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/modules/nodeitems_utils.py8
-rw-r--r--release/scripts/startup/bl_ui/space_node.py12
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):