diff options
author | Colin Walters <walters@verbum.org> | 2009-10-07 15:54:05 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2009-10-07 16:02:31 -0400 |
commit | f152f5e97df7783c61907b5f201840afbd46331f (patch) | |
tree | 5ef6b2f941795971d18539f728be8d20c761bfbe | |
parent | 5013e23d5405db533133a4b158d9dfa0ea95fbe4 (diff) | |
download | gobject-introspection-f152f5e97df7783c61907b5f201840afbd46331f.tar.gz |
Explicitly sort object interfaces, properties, and signals
Previously we were taking this in order from the dumper, which ends up
being some undefined order from GObject. Just use Node's cmp to sort
them by name explicitly.
This probably doesn't cover all possible instances of this problem,
but these fixes are right.
https://bugzilla.gnome.org/show_bug.cgi?id=597724
-rw-r--r-- | giscanner/glibtransformer.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/giscanner/glibtransformer.py b/giscanner/glibtransformer.py index 993aee6e..5b94ef75 100644 --- a/giscanner/glibtransformer.py +++ b/giscanner/glibtransformer.py @@ -746,7 +746,7 @@ class GLibTransformer(object): for interface in xmlnode.findall('implements'): gitype = self._resolve_gtypename(interface.attrib['name']) gt_interfaces.append(gitype) - node.interfaces = gt_interfaces + node.interfaces = sorted(gt_interfaces) def _introspect_properties(self, node, xmlnode): for pspec in xmlnode.findall('property'): @@ -762,6 +762,7 @@ class GLibTransformer(object): readable, writable, construct, construct_only, ctype, )) + node.properties = sorted(node.properties) def _introspect_signals(self, node, xmlnode): for signal_info in xmlnode.findall('signal'): @@ -781,6 +782,7 @@ class GLibTransformer(object): param.transfer = 'none' signal.parameters.append(param) node.signals.append(signal) + node.signals = sorted(node.signals) # Resolver |