diff options
author | Tim Janik <timj@gtk.org> | 2002-03-03 05:41:28 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2002-03-03 05:41:28 +0000 |
commit | f0b58ab846b04abd4d23be19d0924b812cc74872 (patch) | |
tree | c7eac7da5950e721205e484def743cb377f0970b /gtk/gtktreeselection.c | |
parent | b47b15f6ba401c735d415e65d1fa7620e3546968 (diff) | |
download | gtk+-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/gtktreeselection.c')
-rw-r--r-- | gtk/gtktreeselection.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c index 6b67452bc6..2c93cd4350 100644 --- a/gtk/gtktreeselection.c +++ b/gtk/gtktreeselection.c @@ -98,8 +98,15 @@ gtk_tree_selection_init (GtkTreeSelection *selection) static void gtk_tree_selection_finalize (GObject *object) { - if (GTK_TREE_SELECTION (object)->destroy) - (* GTK_TREE_SELECTION (object)->destroy) (GTK_TREE_SELECTION (object)->user_data); + GtkTreeSelection *selection = GTK_TREE_SELECTION (object); + + if (selection->destroy) + { + GtkDestroyNotify d = selection->destroy; + + selection->destroy = NULL; + d (selection->user_data); + } /* chain parent_class' handler */ G_OBJECT_CLASS (parent_class)->finalize (object); @@ -276,6 +283,14 @@ gtk_tree_selection_set_select_function (GtkTreeSelection *selection, g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (func != NULL); + if (selection->destroy) + { + GtkDestroyNotify d = selection->destroy; + + selection->destroy = NULL; + d (selection->user_data); + } + selection->user_func = func; selection->user_data = data; selection->destroy = destroy; |