Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/giscanner/glibtransformer.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/glibtransformer.py')
-rw-r--r--giscanner/glibtransformer.py21
1 files changed, 4 insertions, 17 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py
index fc7f17c..5a7a96d 100644
--- a/giscanner/glibtransformer.py
+++ b/giscanner/glibtransformer.py
@@ -159,10 +159,6 @@ class GLibTransformer(object):
except KeyError, e:
print "WARNING: DELETING node %s: %s" % (node.name, e)
self._remove_attribute(node.name)
- # Another pass, since we need to have the methods parsed
- # in order to correctly modify them after class/record
- # pairing
- for (ns, node) in nodes:
# associate GtkButtonClass with GtkButton
if isinstance(node, Record):
self._pair_class_record(node)
@@ -577,19 +573,10 @@ class GLibTransformer(object):
for field in maybe_class.fields:
if isinstance(field, Field):
field.writable = False
-
- # Pair up virtual methods by finding a slot in
- # the class with the same name
- for field in maybe_class.fields:
- if not isinstance(field, Callback):
- continue
- matched = False
- for method in pair_class.methods:
- if (method.name == field.name and
- len(method.parameters)+1 == len(field.parameters)):
- method.is_virtual = True
- break
-
+ # TODO: remove this, we should be computing vfuncs instead
+ if isinstance(pair_class, GLibInterface):
+ for field in maybe_class.fields[1:]:
+ pair_class.fields.append(field)
gclass_struct = GLibRecord.from_record(class_struct)
self._remove_attribute(class_struct.name)
self._add_attribute(gclass_struct, True)