On Tue, Nov 28, 2006 at 07:32:14AM +0100, Philippe Bertin wrote:
> 
> In glade_palette_init, there's this piece of code :
> 
>     /* Add items tray (via a scrolled window) */
>     priv->tray = gtk_vbox_new (FALSE, 0);
>     g_object_ref (G_OBJECT (priv->tray));
>     gtk_object_sink (GTK_OBJECT (priv->tray));
> 
> What's the goal of this gtk_object_sink?

I haven't read the code, but probably the vbox can be
temporarily removed from its container and should not cease
to exist when this happens so a reference is taken on it.

> I thought that after 
> glade_palette_init returns, the local references are gone?

What local references?  When you reference an object you own
a reference until you explicitly release it or until the end
of the program, whichever comes first.

> P.S. Looking for the meaning of the gtk_object_sink call, at 
> http://developer.gnome.org/doc/API/2.0/gtk/GtkObject.html#gtk-object-sink 
> I see it's deprecated. g_object_ref_sink should be called instead 

In newly written code.  Is this newly written code?

Using g_object_ref_sink() instead of gtk_object_sink() makes
your program require GLib 2.10+ without any practical
benefit.  If your program already requires GLib 2.10+
because you make use of its features then of course use
g_object_ref_sink().

Yeti


--
Whatever.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to