summaryrefslogtreecommitdiff
path: root/gtk/gtktreestore.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2002-03-03 05:41:28 +0000
committerTim Janik <timj@src.gnome.org>2002-03-03 05:41:28 +0000
commitf0b58ab846b04abd4d23be19d0924b812cc74872 (patch)
treec7eac7da5950e721205e484def743cb377f0970b /gtk/gtktreestore.c
parentb47b15f6ba401c735d415e65d1fa7620e3546968 (diff)
downloadgtk+-f0b58ab846b04abd4d23be19d0924b812cc74872.tar.gz
added compile time switch to put the tree views into a hpaned for owen to
Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org> * gtk/gtkfilesel.c: added compile time switch to put the tree views into a hpaned for owen to play with. * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free): * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func), (gtk_tree_view_column_finalize): * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func), (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize): * gtk/gtktreeselection.c (gtk_tree_selection_finalize): * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func), (gtk_tree_model_sort_set_default_sort_func), (gtk_tree_model_sort_set_sort_func): * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func), (gtk_list_store_set_default_sort_func), (gtk_list_store_set_sort_func), (gtk_list_store_finalize): add reentrancy protection around destroy() function invocation. * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix destroy function invocation (which was missing).
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r--gtk/gtktreestore.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index 65b37479cb..38164bb595 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -450,8 +450,10 @@ gtk_tree_store_finalize (GObject *object)
if (tree_store->default_sort_destroy)
{
- (* tree_store->default_sort_destroy) (tree_store->default_sort_data);
+ GtkDestroyNotify d = tree_store->default_sort_destroy;
+
tree_store->default_sort_destroy = NULL;
+ d (tree_store->default_sort_data);
tree_store->default_sort_data = NULL;
}
@@ -2195,12 +2197,16 @@ gtk_tree_store_set_sort_func (GtkTreeSortable *sortable,
}
if (header->destroy)
- (* header->destroy) (header->data);
+ {
+ GtkDestroyNotify d = header->destroy;
+
+ header->destroy = NULL;
+ d (header->data);
+ }
header->func = func;
header->data = data;
header->destroy = destroy;
-
}
static void
@@ -2214,7 +2220,12 @@ gtk_tree_store_set_default_sort_func (GtkTreeSortable *sortable,
g_return_if_fail (GTK_IS_TREE_STORE (sortable));
if (tree_store->default_sort_destroy)
- (* tree_store->default_sort_destroy) (tree_store->default_sort_data);
+ {
+ GtkDestroyNotify d = tree_store->default_sort_destroy;
+
+ tree_store->default_sort_destroy = NULL;
+ d (tree_store->default_sort_data);
+ }
tree_store->default_sort_func = func;
tree_store->default_sort_data = data;