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 741604 - Out param missing '*' in c:type="TypeName"
Out param missing '*' in c:type="TypeName"
Status: RESOLVED FIXED
Product: vala
Classification: Core
Component: Code Generator
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Vala maintainers
Vala maintainers
Depends on:
Blocks:
 
 
Reported: 2014-12-16 16:03 UTC by Garrett Regier
Modified: 2014-12-16 16:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
girwriter: Fix writing type for out params (2.05 KB, patch)
2014-12-16 16:07 UTC, Garrett Regier
none Details | Review

Description Garrett Regier 2014-12-16 16:03:17 UTC
An interface vfunc with an Boxed out param is currently broken with PyGObject because g_type_info_is_pointer() returns FALSE. Adding the extra '*' is what g-ir-scanner produces and fixes PyGObject.
Comment 1 Garrett Regier 2014-12-16 16:07:02 UTC
Created attachment 292845 [details] [review]
girwriter: Fix writing type for out params

The extra '*' is required for g_type_info_is_pointer() to return TRUE. This fixes PyGObject marshaling for an interface vfunc with a Boxed out param.

This fixes my test case.
Comment 2 Luca Bruno 2014-12-16 16:36:07 UTC
commit 670a640a7c4deea0f93ca7653aa9b3791d559100
Author: Garrett Regier <garrett.regier@riftio.com>
Date:   Tue Dec 16 08:04:07 2014 -0800

    girwriter: Fix writing type for out params
    
    The extra '*' is required for g_type_info_is_pointer() to
    return TRUE. This fixes PyGObject marshaling for an interface
    vfunc with a Boxed out param.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=741604
    Signed-off-by: Garrett Regier <garrett.regier@riftio.com>

This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.