On 18/03/2014 23:25, Lei Miao wrote:
That worked! Thank you so much for the help!
I still have a related question though:
In the following function in the generated c code,
static gchar**my_streaming_source_real_get_protocols (GstURIHandler*
base, GType type, int* result_length1) {
MyStreamingSource * self;
gchar** result = NULL;
gchar** _tmp0_ = NULL;
gint _tmp0__length1 = 0;
self = (MyStreamingSource*) base;
_tmp0_ = MY_STREAMING_SOURCE_protocols;
_tmp0__length1 = G_N_ELEMENTS (MY_STREAMING_SOURCE_protocols);
if (result_length1) {
*result_length1 = _tmp0__length1;
}
result = _tmp0_;
return result;
}
the last argument "int* result_length1" somehow is causing seg faults.
If I remove this argument manually, then the problem goes away.
I was wondering why this argument is added, since in the vapi, I only
have:
[CCode (array_length = false, array_null_terminated = true)]
public abstract unowned string[] get_protocols (GLib.Type type);
and in the vala code, I have
"public unowned string[] get_protocols(Type type) { return protocols;
}" where "protocols" is a string array.
Is there a way to remove this argument in the generated c code?
Try putting [CCode (array_length = false, array_null_terminated = true)]
on your method as well.
Also if you can, please report a bug. That CCode should have been
inherited automatically by vala.
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list