A questiona about memory handling in Gobject based classes
- From: Friedrich <frido q-software-solutions de>
- To: gtk-list gnome org
- Subject: A questiona about memory handling in Gobject based classes
- Date: Fri, 14 Nov 2008 09:39:37 +0100
Ok I read the docs up and down but still am confused.
Assume I have something like this
struct FooObject {
GObject parent;
}
struct FooClas {
GObjectClass parentClass;
/* but then also */
some other_struct *struct_pointer;
}
Now I have to allocate the struct_pointer dynamically.
As I understand this could be done in the _class_init function or
base_class_init function
If I put it into the FooClass_class_init function then I expected
to have to write FooClass_finalize function also but
if one calls g_type_register_static one can not have a
class_finalize_function.
so the only place left seems to be GBaseInitFunc and
GBaseFinalizeFunc.
I do not understand when this functins get called.
E.g. what happens if I just have one FooObject and
I call g_object_unref on it. The reference counts goes down to 0, so
I'd think the GBaseFinalizeFunction should be called, but that does
not happen. At least a breakpoint isn't hit.
In the end my question is how is a ObjectClass structure destroyed?
Do I have to write special dispose function?
Hints for a better understanding of this memory handling stuff would
be very appreciated.
Thanks
Friedrich
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]