aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/metaobjectdump.py
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-01-24 13:17:20 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-01-24 16:11:55 +0100
commitdd79ee6d29b4a628aad61e24ae361ac6cab20ebf (patch)
tree4b7d4f9e6b7a5763826b5354db636165a41f5e6a /sources/pyside-tools/metaobjectdump.py
parent0ada8b37d32cac3e6ece7fa8a3f00bab5cdde8c1 (diff)
pyside6-metaobjectdump: Skip call operators in base class specification
Fixes: PYSIDE-2202 Pick-to: 6.4 Change-Id: I9187925491696a6ecbff9c13add787fbd5420e36 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
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: