How to orderly empty a tree view without memory leakage?
- From: Gus Koppel <gtk spamkiller bytechase cx>
- To: <gtk-app-devel-list gnome org>
- Subject: How to orderly empty a tree view without memory leakage?
- Date: Tue, 23 Sep 2003 12:29:23 +0200
What am I supposed to do in order to cleanly free the contents of a tree
view without memory leakage in GTK+ 2.2.? I have a tree view which is to
be refilled with completely different data when the user of my program
selects different data sources.
My approach was to
1. gtk_tree_view_remove_column (tv, column) for every
gtk_tree_view_get_column (tv, 0) there is,
3. gtk_tree_view_set_model (tv, NULL) to free(?) the existing model.
However, there is still a noticable increase of memory consumption by the
program, each time when I refill the tree view. I then added step 2:
2. gtk_tree_view_get_model (tv) and g_object_unref () it!
Though I rather expected a segfault by this, it actually works and I even
believe the growth of memory consumption has decreased a bit (though not
- Is my observation of decreased growth of memory consumption on manually
g_object_unref'ing the model reproducible for some of you or am I wrong?
- Am I really supposed to manually g_object_unref () the model?
- Should I manually g_object_unref () more objects, for instance the
columns, before removing them or is it a bug in GTK+ 2.2 that models
have to be unref'd manually to prevent memory leaks?
- What about cell renderers? Are they (supposed to be) unref'd / freed
implicitly when all columns are removed or should I (try to) unref them?
] [Thread Prev