From e17b92f535826bac45bb5205c557f88dee15e2ea Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 16 Nov 2016 11:07:07 +0100 Subject: [PATCH] Fix custom props not being handled correctly by manual/pyref UI menu entries. --- release/scripts/startup/bl_operators/wm.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 343fcdb0d22..68a25acc2db 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -935,16 +935,23 @@ def _wm_doc_get_id(doc_id, do_url=True, url_prefix=""): # detect if this is a inherited member and use that name instead rna_parent = rna_class.bl_rna - rna_prop = rna_parent.properties[class_prop] - rna_parent = rna_parent.base - while rna_parent and rna_prop == rna_parent.properties.get(class_prop): - class_name = rna_parent.identifier + rna_prop = rna_parent.properties.get(class_prop) + if rna_prop: rna_parent = rna_parent.base + while rna_parent and rna_prop == rna_parent.properties.get(class_prop): + class_name = rna_parent.identifier + rna_parent = rna_parent.base - if do_url: - url = ("%s/bpy.types.%s.html#bpy.types.%s.%s" % (url_prefix, class_name, class_name, class_prop)) + if do_url: + url = ("%s/bpy.types.%s.html#bpy.types.%s.%s" % (url_prefix, class_name, class_name, class_prop)) + else: + rna = ("bpy.types.%s.%s" % (class_name, class_prop)) else: - rna = ("bpy.types.%s.%s" % (class_name, class_prop)) + # We assume this is custom property, only try to generate generic url/rna_id... + if do_url: + url = ("%s/bpy.types.bpy_struct.html#bpy.types.bpy_struct.items" % (url_prefix,)) + else: + rna = "bpy.types.bpy_struct" return url if do_url else rna