Re: signals connection



> g_signal_connect_swapped(G_OBJECT(window), "destroy",
>         G_CALLBACK(g_free), someobject);

Ahhh; never though of that, thats pretty cute ;-)




Evan Martin wrote:
> 
> On Thu, Mar 20, 2003 at 09:54:09AM -0500, Tristan Van Berkom wrote:
> > Hmmm... it seems to mean that the callback will be called like this:
> >
> > c_handler(G_OBJECT(data), detail, (gpointer) instance);
> >       instead of
> > c_handler(G_OBJECT(instance), detail, (gpointer) data);
> >
> > (I guess where detail is often something like GdkEvent)
> >
> >       I can't think of a practical reason for having such a
> > function but if its there; theres a good chance that its
> > usefull for something ;-)
> 
> To simply destroy "someobject" when "window" is destroyed, you can do
> this:
> 
> g_signal_connect_swapped(G_OBJECT(window), "destroy",
>         G_CALLBACK(g_free), someobject);
> 
> Because of the _swapped, "someobject" will be passed as the first
> argument to g_free() so you can use g_free as a callback directly
> instead of another function which would just call g_free anyway.
> 
> --
>       Evan Martin
> martine cs washington edu
>   http://neugierig.org



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