diff --git a/ChangeLog b/ChangeLog index 394148ccbb..de7b83d603 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 394148ccbb..de7b83d603 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,4 +1,8 @@ -Mon Aug 20 23:48:18 2001 Jonathan Blandford +Tue Aug 21 00:45:55 2001 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_destroy): Grr... Get it right. + +Mon Aug 20 23:48:18 2001 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Fix bug reported by Kristian Rietveld to handle row diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 78efc2509e..92ff76408a 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -1014,9 +1014,14 @@ gtk_tree_view_destroy (GtkObject *object) if (tree_view->priv->columns != NULL) { - for (list = tree_view->priv->columns; list; list = list->next) - g_object_unref (G_OBJECT (list->data)); - g_list_free (tree_view->priv->columns); + list = tree_view->priv->columns; + while (list) + { + GtkTreeViewColumn *column; + column = GTK_TREE_VIEW_COLUMN (list->data); + list = list->next; + gtk_tree_view_remove_column (tree_view, column); + } tree_view->priv->columns = NULL; } @@ -7954,7 +7959,7 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); g_return_if_fail (column == NULL || GTK_IS_TREE_VIEW_COLUMN (column)); g_return_if_fail (rect != NULL); - g_return_if_fail (column->tree_view == tree_view); + g_return_if_fail (column->tree_view == (GtkWidget *) tree_view); g_return_if_fail (GTK_WIDGET_REALIZED (tree_view)); gtk_widget_style_get (GTK_WIDGET (tree_view), "vertical_separator", &vertical_separator, NULL); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 158cae5c66..3c20b56a37 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -832,14 +832,7 @@ gtk_tree_view_column_setup_sort_column_id_callback (GtkTreeViewColumn *tree_colu model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_column->tree_view)); if (model == NULL) - { - if (tree_column->sort_column_changed_signal) - { - g_signal_handler_disconnect (G_OBJECT (tree_column), tree_column->sort_column_changed_signal); - tree_column->sort_column_changed_signal = 0; - } - return; - } + return; if (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id != -1) @@ -961,7 +954,8 @@ _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column) if (column->sort_column_changed_signal) { - g_signal_handler_disconnect (G_OBJECT (column), column->sort_column_changed_signal); + g_signal_handler_disconnect (G_OBJECT (gtk_tree_view_get_model (GTK_TREE_VIEW (column->tree_view))), + column->sort_column_changed_signal); column->sort_column_changed_signal = 0; }