From 64848acb817369436d629d153c5750789c0addc3 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Sat, 13 Aug 2011 13:10:34 +0200 Subject: Teach scanner's girparser about fundamentals Make sure that fundamental attribute and associated functions (ref-func, unref-func, set-value-func and get-value-func) are parsed, otherwise we fail reparse-validating girs containing fundamentals. --- giscanner/girparser.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/giscanner/girparser.py b/giscanner/girparser.py index d7a59b83..51ef9340 100644 --- a/giscanner/girparser.py +++ b/giscanner/girparser.py @@ -239,6 +239,14 @@ class GIRParser(object): type_struct = node.attrib.get(_glibns('type-struct')) if type_struct: obj.glib_type_struct = self._namespace.type_from_name(type_struct) + if klass == ast.Class: + is_fundamental = node.attrib.get(_glibns('fundamental')) + if is_fundamental and is_fundamental != '0': + obj.fundamental = True + for func_id in ['ref-func', 'unref-func', + 'set-value-func', 'get-value-func']: + func_name = node.attrib.get(_glibns(func_id)) + obj.__dict__[func_id.replace('-', '_')] = func_name self._namespace.append(obj) if self._types_only: -- cgit v1.2.1