Calling _resolve_param_type on a string instead of Node is fairly unusual,
and (as far as I could see) basically only happened in the Array processing
code. We were passing None as the ctype in this case, but we might as well
try using the name as a ctype too.
This fixes using GCallback (and in general any item in an array that comes
from an included gir).
self.ctype_of(ptype),
names, **kwargs)
elif isinstance(ptype, basestring):
- return self.resolve_type_name_full(ptype, None, names, **kwargs)
+ return self.resolve_type_name_full(ptype, ptype, names, **kwargs)
else:
raise AssertionError("Unhandled param: %r" % (ptype, ))
return ptype
</parameter>
</parameters>
</callback>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="GCallback" fixed-size="4">
+ <type name="GObject.Callback"/>
+ </array>
+ </field>
</record>
<constant name="PIE_IS_TASTY" value="3.14159">
<type name="double"/>
<field name="parent_class">
<type name="GObject.ObjectClass"/>
</field>
+ <field name="_reserved">
+ <array fixed-size="4">
+ <type name="GObject.Callback"/>
+ </array>
+ </field>
</record>
<constant name="PIE_IS_TASTY" value="3.141590">
<type name="double"/>
/* Intended to match GFile */
void (*read_fn) (FooObject *object, int offset, int length);
+
+ /* Test reserved stuff */
+ GCallback _reserved[4];
};
gint foo_init (void);