After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687545 - g-ir-scanner: struct fields annotated as arrays are not scanned
g-ir-scanner: struct fields annotated as arrays are not scanned
Status: RESOLVED DUPLICATE of bug 710561
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-11-04 03:56 UTC by Simon Feltman
Modified: 2015-02-07 16:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Simon Feltman 2012-11-04 03:56:57 UTC
While attempting to add an array length annotation to the param_types struct field of GSignalQuery (bug 687541), I noticed the scanner was not producing the field description as an array:

      <field name="param_types" writable="1">
        <type name="GType" c:type="const GType*"/>
      </field>


By manually fixing this in the gir, I was able to verify access to the index of the length field with g_type_info_get_array_length works on the fields type info. So at least the g-ir-compiler is correctly pushing the information to the typelib. 

The resulting gir for the annotation in bug 687541 should look something like the following:

      <field name="param_types" writable="0">
        <array length="5" zero-terminated="0" c:type="const GType*">
          <type name="GType" c:type="GType"/>
        </array>
      </field>
Comment 1 Simon Feltman 2013-10-23 02:47:40 UTC

*** This bug has been marked as a duplicate of bug 710561 ***
Comment 2 André Klapper 2015-02-07 16:47:44 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]