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).
This commit is contained in:
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user