Adding the CCode to the vala code solved the problem. Thank you!

I generated two bug reports for this discussion: *Bug
726744*<https://bugzilla.gnome.org/show_bug.cgi?id=726744>and
*Bug 726745* <https://bugzilla.gnome.org/show_bug.cgi?id=726745> .

Regards,

LM


On Wed, Mar 19, 2014 at 4:42 AM, Luca Bruno <[email protected]> wrote:

> 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

Reply via email to