[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Vala] self-less delegates



On Mon, May 26, 2008 01:29, Stephen Sinclair wrote:
> On Sun, May 25, 2008 at 5:34 PM, Jürg Billeter <j bitron ch> wrote:
>>> Anyways, The new_method function does not take any parameters.
>>> However, in trying to use "delegate" to create this callback, I found
>>> that it always seems to add an argument, gpointer *self.  This makes
>>> some sense for most callbacks, but in this case the callback does not
>>> take any parameters.
>>
>> Use the `static' modifier when declaring the delegate, this prevents the
>> generation of the user_data / target_object parameter.
>
> Thanks, that worked perfectly!
>
> I thought I'd tried all combinations of the static keyword, but I
> guess I missed that one.  While it does make sense that "static" would
> work here, what do you think of the idea that delegates described
> outside a class should not have the context argument?

Delegates are often declared outside classes but still used for instance
methods, so we don't want to default to no context there. However, I agree
that the `static' modifier can be misleading as it usually has a slightly
different meaning. That's why I'd like to replace it by an attribute, see
http://bugzilla.gnome.org/show_bug.cgi?id=526549

Jürg



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]