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/gtktreeviewcolumn.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/gtktreeviewcolumn.c')
-rw-r--r-- | gtk/gtktreeviewcolumn.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index fb6d453a98..49cc8b9db5 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -329,8 +329,14 @@ gtk_tree_view_column_finalize (GObject *object) for (list = tree_column->cell_list; list; list = list->next) { GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - if (info->func_data && info->destroy) - (info->destroy) (info->func_data); + + if (info->destroy) + { + GtkDestroyNotify d = info->destroy; + + info->destroy = NULL; + d (info->func_data); + } gtk_tree_view_column_clear_attributes (tree_column, info->cell); g_object_unref (G_OBJECT (info->cell)); g_free (info); @@ -1333,13 +1339,13 @@ gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn *tree_column, g_return_if_fail (info != NULL); - if (func == info->func && - func_data == info->func_data && - destroy == info->destroy) - return; + if (info->destroy) + { + GtkDestroyNotify d = info->destroy; - if (info->func_data && info->destroy) - (info->destroy) (info->func_data); + info->destroy = NULL; + d (info->func_data); + } info->func = func; info->func_data = func_data; |