Re: GObject: Freeing memory of instance members?
- From: Øystein Johansen <oystein gnubg org>
- To: gtk-list gnome org
- Subject: Re: GObject: Freeing memory of instance members?
- Date: Thu, 03 May 2007 23:27:14 +0200
David Nečas (Yeti) wrote:
> On Thu, May 03, 2007 at 10:40:17PM +0200, ??ystein Johansen wrote:
>> Aha, but how/where to I set the pointer to the finalize() function?
>
> In my_class_init() where you override all other methods.
> See (almost) any Gtk+ widget for examples.
Aha again! I guess I can free private members in the same method as well?
static void
neural_net_finalize (GObject *object)
{
NeuralNet *nn;
g_return_if_fail (IS_NEURAL_NET(object));
nn = NEURAL_NET(object);
g_free(nn->priv->weight_h);
g_free(nn->priv->weight_o);
g_free(nn->priv->bias_h);
g_free(nn->priv->bias_o);
g_free(nn->priv->filename);
g_free(nn->priv);
g_message("This is the finalize method and I've freed the instance
members!\n");
}
static void
neural_net_class_init (NeuralNetClass *klass){
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
gobject_class->finalize = neural_net_finalize;
g_type_class_add_private (klass, sizeof (NeuralNetPrivate));
}
I think this looks ok, doesn't it? No, wait a minite.... What about the
parent? This class has GObjectClass as parent, how do I call it's finalize?
Thanks,
-Øystein
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]