aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/metaobjectdump.py
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside-tools/metaobjectdump.py')
-rw-r--r--sources/pyside-tools/metaobjectdump.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/sources/pyside-tools/metaobjectdump.py b/sources/pyside-tools/metaobjectdump.py
index 9042ccca6..c69d9e78f 100644
--- a/sources/pyside-tools/metaobjectdump.py
+++ b/sources/pyside-tools/metaobjectdump.py
@@ -158,12 +158,14 @@ class MetaObjectDumpVisitor(ast.NodeVisitor):
q_object = False
bases = []
for b in node.bases:
- base_name = _name(b)
- if base_name in self._context.qobject_derived:
- q_object = True
- self._context.qobject_derived.append(name)
- base_dict = {"access": "public", "name": base_name}
- bases.append(base_dict)
+ # PYSIDE-2202: catch weird constructs like "class C(type(Base)):"
+ if isinstance(b, ast.Name):
+ base_name = _name(b)
+ if base_name in self._context.qobject_derived:
+ q_object = True
+ self._context.qobject_derived.append(name)
+ base_dict = {"access": "public", "name": base_name}
+ bases.append(base_dict)
data["object"] = q_object
if bases: