summaryrefslogtreecommitdiff
path: root/giscanner/girparser.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/girparser.py')
-rw-r--r--giscanner/girparser.py8
1 files changed, 8 insertions, 0 deletions
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: