Commit 3b2ffda1 authored by Jonathan Blandford's avatar Jonathan Blandford Committed by Jonathan Blandford
Browse files

renamed "child_toggled" to "has_child_toggled".

Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c: renamed "child_toggled" to
	"has_child_toggled".

	* gtk/gtktreeview.c: Handle removing columns better.  Updated to
	handle new signal name.

	* gtk/gtktreestore.c: Updated to handle new signal name.
	* gtk/gtklisttore.c: Updated to handle new signal name.
	* gtk/gtktreemodelsort.c: Updated to handle new signal name.
parent e8a62bd8
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
Mon Mar 5 14:38:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.c: renamed "child_toggled" to
"has_child_toggled".
* gtk/gtktreeview.c: Handle removing columns better. Updated to
handle new signal name.
* gtk/gtktreestore.c: Updated to handle new signal name.
* gtk/gtklisttore.c: Updated to handle new signal name.
* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 Alexander Larsson <alexl@redhat.com> 2001-03-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
......
...@@ -362,5 +362,5 @@ gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle, ...@@ -362,5 +362,5 @@ gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
{ {
g_return_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (toggle)); g_return_if_fail (GTK_IS_CELL_RENDERER_TOGGLE (toggle));
g_object_set (G_OBJECT (toggle), "active", setting, NULL); g_object_set (G_OBJECT (toggle), "active", !! setting, NULL);
} }
...@@ -54,17 +54,17 @@ struct _GtkListStoreClass ...@@ -54,17 +54,17 @@ struct _GtkListStoreClass
/* signals */ /* signals */
/* Will be moved into the GtkTreeModelIface eventually */ /* Will be moved into the GtkTreeModelIface eventually */
void (* changed) (GtkTreeModel *tree_model, void (* changed) (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void (* inserted) (GtkTreeModel *tree_model, void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void (* child_toggled) (GtkTreeModel *tree_model, void (* has_child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model, void (* deleted) (GtkTreeModel *tree_model,
GtkTreePath *path); GtkTreePath *path);
}; };
......
...@@ -90,10 +90,10 @@ gtk_tree_model_base_init (gpointer g_class) ...@@ -90,10 +90,10 @@ gtk_tree_model_base_init (gpointer g_class)
G_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_TREE_PATH, GTK_TYPE_TREE_PATH,
GTK_TYPE_TREE_ITER); GTK_TYPE_TREE_ITER);
g_signal_newc ("child_toggled", g_signal_newc ("has_child_toggled",
GTK_TYPE_TREE_MODEL, GTK_TYPE_TREE_MODEL,
G_SIGNAL_RUN_LAST, G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GtkTreeModelIface, child_toggled), G_STRUCT_OFFSET (GtkTreeModelIface, has_child_toggled),
NULL, NULL,
gtk_marshal_VOID__BOXED_BOXED, gtk_marshal_VOID__BOXED_BOXED,
G_TYPE_NONE, 2, G_TYPE_NONE, 2,
...@@ -1027,16 +1027,16 @@ gtk_tree_model_inserted (GtkTreeModel *tree_model, ...@@ -1027,16 +1027,16 @@ gtk_tree_model_inserted (GtkTreeModel *tree_model,
} }
void void
gtk_tree_model_child_toggled (GtkTreeModel *tree_model, gtk_tree_model_has_child_toggled (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter) GtkTreeIter *iter)
{ {
g_return_if_fail (tree_model != NULL); g_return_if_fail (tree_model != NULL);
g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
g_return_if_fail (path != NULL); g_return_if_fail (path != NULL);
g_return_if_fail (iter != NULL); g_return_if_fail (iter != NULL);
g_signal_emit_by_name (tree_model, "child_toggled", path, iter); g_signal_emit_by_name (tree_model, "has_child_toggled", path, iter);
} }
void void
......
...@@ -63,7 +63,7 @@ struct _GtkTreeModelIface ...@@ -63,7 +63,7 @@ struct _GtkTreeModelIface
void (* inserted) (GtkTreeModel *tree_model, void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void (* child_toggled) (GtkTreeModel *tree_model, void (* has_child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model, void (* deleted) (GtkTreeModel *tree_model,
...@@ -207,17 +207,18 @@ void gtk_tree_model_get_valist (GtkTreeModel *tree_model, ...@@ -207,17 +207,18 @@ void gtk_tree_model_get_valist (GtkTreeModel *tree_model,
/* Signals */ /* Signals */
void gtk_tree_model_changed (GtkTreeModel *tree_model, void gtk_tree_model_changed (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void gtk_tree_model_inserted (GtkTreeModel *tree_model, void gtk_tree_model_inserted (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void gtk_tree_model_child_toggled (GtkTreeModel *tree_model, void gtk_tree_model_has_child_toggled (GtkTreeModel *tree_model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter); GtkTreeIter *iter);
void gtk_tree_model_deleted (GtkTreeModel *tree_model, void gtk_tree_model_deleted (GtkTreeModel *tree_model,
GtkTreePath *path); GtkTreePath *path);
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -62,10 +62,10 @@ static void gtk_tree_model_sort_inserted (GtkTreeModel * ...@@ -62,10 +62,10 @@ static void gtk_tree_model_sort_inserted (GtkTreeModel *
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
gpointer data); gpointer data);
static void gtk_tree_model_sort_child_toggled (GtkTreeModel *model, static void gtk_tree_model_sort_has_child_toggled (GtkTreeModel *model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
gpointer data); gpointer data);
static void gtk_tree_model_sort_deleted (GtkTreeModel *model, static void gtk_tree_model_sort_deleted (GtkTreeModel *model,
GtkTreePath *path, GtkTreePath *path,
gpointer data); gpointer data);
...@@ -240,7 +240,7 @@ gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort, ...@@ -240,7 +240,7 @@ gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort,
g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model), g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model),
tree_model_sort->inserted_id); tree_model_sort->inserted_id);
g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model), g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model),
tree_model_sort->child_toggled_id); tree_model_sort->has_child_toggled_id);
g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model), g_signal_handler_disconnect (G_OBJECT (tree_model_sort->child_model),
tree_model_sort->deleted_id); tree_model_sort->deleted_id);
...@@ -261,10 +261,10 @@ gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort, ...@@ -261,10 +261,10 @@ gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort,
"inserted", "inserted",
gtk_tree_model_sort_inserted, gtk_tree_model_sort_inserted,
tree_model_sort); tree_model_sort);
tree_model_sort->child_toggled_id = tree_model_sort->has_child_toggled_id =
g_signal_connect (child_model, g_signal_connect (child_model,
"child_toggled", "has_child_toggled",
gtk_tree_model_sort_child_toggled, gtk_tree_model_sort_has_child_toggled,
tree_model_sort); tree_model_sort);
tree_model_sort->deleted_id = tree_model_sort->deleted_id =
g_signal_connect (child_model, g_signal_connect (child_model,
...@@ -492,10 +492,10 @@ gtk_tree_model_sort_inserted (GtkTreeModel *s_model, ...@@ -492,10 +492,10 @@ gtk_tree_model_sort_inserted (GtkTreeModel *s_model,
} }
static void static void
gtk_tree_model_sort_child_toggled (GtkTreeModel *s_model, gtk_tree_model_sort_has_child_toggled (GtkTreeModel *s_model,
GtkTreePath *s_path, GtkTreePath *s_path,
GtkTreeIter *s_iter, GtkTreeIter *s_iter,
gpointer data) gpointer data)
{ {
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *path; GtkTreePath *path;
...@@ -521,7 +521,7 @@ gtk_tree_model_sort_child_toggled (GtkTreeModel *s_model, ...@@ -521,7 +521,7 @@ gtk_tree_model_sort_child_toggled (GtkTreeModel *s_model,
return; return;
gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path); gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path);
g_signal_emit_by_name (G_OBJECT (data), g_signal_emit_by_name (G_OBJECT (data),
"child_toggled", "has_child_toggled",
path, &iter); path, &iter);
gtk_tree_path_free (path); gtk_tree_path_free (path);
if (free_s_path) if (free_s_path)
......
...@@ -52,27 +52,13 @@ struct _GtkTreeModelSort ...@@ -52,27 +52,13 @@ struct _GtkTreeModelSort
guint changed_id; guint changed_id;
guint inserted_id; guint inserted_id;
guint child_toggled_id; guint has_child_toggled_id;
guint deleted_id; guint deleted_id;
}; };
struct _GtkTreeModelSortClass struct _GtkTreeModelSortClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
/* signals */
/* Will be moved into the GtkTreeModelIface eventually */
void (* changed) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model,
GtkTreePath *path);
}; };
......
...@@ -694,7 +694,7 @@ gtk_tree_store_remove (GtkTreeStore *model, ...@@ -694,7 +694,7 @@ gtk_tree_store_remove (GtkTreeStore *model,
new_iter.stamp = model->stamp; new_iter.stamp = model->stamp;
new_iter.user_data = parent; new_iter.user_data = parent;
gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, &new_iter); gtk_tree_model_has_child_toggled (GTK_TREE_MODEL (model), path, &new_iter);
} }
gtk_tree_path_free (path); gtk_tree_path_free (path);
} }
...@@ -845,7 +845,7 @@ gtk_tree_store_prepend (GtkTreeStore *model, ...@@ -845,7 +845,7 @@ gtk_tree_store_prepend (GtkTreeStore *model,
if (parent_node != model->root) if (parent_node != model->root)
{ {
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent); path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent);
gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, parent); gtk_tree_model_has_child_toggled (GTK_TREE_MODEL (model), path, parent);
gtk_tree_path_append_index (path, 0); gtk_tree_path_append_index (path, 0);
} }
else else
...@@ -891,7 +891,7 @@ gtk_tree_store_append (GtkTreeStore *model, ...@@ -891,7 +891,7 @@ gtk_tree_store_append (GtkTreeStore *model,
if (parent_node != model->root) if (parent_node != model->root)
{ {
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent); path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent);
gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, parent); gtk_tree_model_has_child_toggled (GTK_TREE_MODEL (model), path, parent);
gtk_tree_path_append_index (path, 0); gtk_tree_path_append_index (path, 0);
} }
else else
......
...@@ -50,20 +50,6 @@ struct _GtkTreeStore ...@@ -50,20 +50,6 @@ struct _GtkTreeStore
struct _GtkTreeStoreClass struct _GtkTreeStoreClass
{ {
GObjectClass parent_class; GObjectClass parent_class;
/* signals */
/* Will be moved into the GtkTreeModelIface eventually */
void (* changed) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* inserted) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* child_toggled) (GtkTreeModel *tree_model,
GtkTreePath *path,
GtkTreeIter *iter);
void (* deleted) (GtkTreeModel *tree_model,
GtkTreePath *path);
}; };
......
...@@ -150,7 +150,7 @@ static void gtk_tree_view_inserted (GtkTreeModel *model, ...@@ -150,7 +150,7 @@ static void gtk_tree_view_inserted (GtkTreeModel *model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
gpointer data); gpointer data);
static void gtk_tree_view_child_toggled (GtkTreeModel *model, static void gtk_tree_view_has_child_toggled (GtkTreeModel *model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
gpointer data); gpointer data);
...@@ -2346,18 +2346,32 @@ gtk_tree_view_remove (GtkContainer *container, ...@@ -2346,18 +2346,32 @@ gtk_tree_view_remove (GtkContainer *container,
{ {
child = tmp_list->data; child = tmp_list->data;
if (child->widget == widget) if (child->widget == widget)
break; {
gtk_widget_unparent (widget);
tree_view->priv->children = g_list_remove_link (tree_view->priv->children, tmp_list);
g_list_free_1 (tmp_list);
g_free (child);
return;
}
tmp_list = tmp_list->next; tmp_list = tmp_list->next;
} }
if (tmp_list) tmp_list = tree_view->priv->columns;
{
gtk_widget_unparent (widget);
tree_view->priv->children = g_list_remove_link (tree_view->priv->children, tmp_list); while (tmp_list)
g_list_free_1 (tmp_list); {
g_free (child); GtkTreeViewColumn *column;
column = tmp_list->data;
if (column->button == widget)
{
gtk_widget_unparent (widget);
return;
}
tmp_list = tmp_list->next;
} }
} }
static void static void
...@@ -2508,13 +2522,13 @@ gtk_tree_view_inserted (GtkTreeModel *model, ...@@ -2508,13 +2522,13 @@ gtk_tree_view_inserted (GtkTreeModel *model,
else if (!GTK_RBNODE_FLAG_SET (tmpnode, GTK_RBNODE_IS_PARENT)) else if (!GTK_RBNODE_FLAG_SET (tmpnode, GTK_RBNODE_IS_PARENT))
{ {
/* FIXME enforce correct behavior on model, probably */ /* FIXME enforce correct behavior on model, probably */
/* In theory, the model should have emitted child_toggled here. We /* In theory, the model should have emitted has_child_toggled here. We
* try to catch it anyway, just to be safe, in case the model hasn't. * try to catch it anyway, just to be safe, in case the model hasn't.
*/ */
GtkTreePath *tmppath = _gtk_tree_view_find_path (tree_view, GtkTreePath *tmppath = _gtk_tree_view_find_path (tree_view,
tree, tree,
tmpnode); tmpnode);
gtk_tree_view_child_toggled (model, tmppath, NULL, data); gtk_tree_view_has_child_toggled (model, tmppath, NULL, data);
gtk_tree_path_free (tmppath); gtk_tree_path_free (tmppath);
goto done; goto done;
} }
...@@ -2552,10 +2566,10 @@ gtk_tree_view_inserted (GtkTreeModel *model, ...@@ -2552,10 +2566,10 @@ gtk_tree_view_inserted (GtkTreeModel *model,
} }
static void static void
gtk_tree_view_child_toggled (GtkTreeModel *model, gtk_tree_view_has_child_toggled (GtkTreeModel *model,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
gpointer data) gpointer data)
{ {
GtkTreeView *tree_view = (GtkTreeView *)data; GtkTreeView *tree_view = (GtkTreeView *)data;
GtkTreeIter real_iter; GtkTreeIter real_iter;
...@@ -3494,8 +3508,8 @@ gtk_tree_view_setup_model (GtkTreeView *tree_view) ...@@ -3494,8 +3508,8 @@ gtk_tree_view_setup_model (GtkTreeView *tree_view)
gtk_tree_view_inserted, gtk_tree_view_inserted,
tree_view); tree_view);
g_signal_connect (tree_view->priv->model, g_signal_connect (tree_view->priv->model,
"child_toggled", "has_child_toggled",
gtk_tree_view_child_toggled, gtk_tree_view_has_child_toggled,
tree_view); tree_view);
g_signal_connect (tree_view->priv->model, g_signal_connect (tree_view->priv->model,
"deleted", "deleted",
...@@ -3550,7 +3564,7 @@ gtk_tree_view_set_model (GtkTreeView *tree_view, ...@@ -3550,7 +3564,7 @@ gtk_tree_view_set_model (GtkTreeView *tree_view,
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model), g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
G_SIGNAL_MATCH_FUNC, G_SIGNAL_MATCH_FUNC,
0, 0, NULL, 0, 0, NULL,
gtk_tree_view_child_toggled, NULL); gtk_tree_view_has_child_toggled, NULL);
g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model), g_signal_handlers_disconnect_matched (G_OBJECT (tree_view->priv->model),
G_SIGNAL_MATCH_FUNC, G_SIGNAL_MATCH_FUNC,
0, 0, NULL, 0, 0, NULL,
...@@ -3920,14 +3934,32 @@ gtk_tree_view_remove_column (GtkTreeView *tree_view, ...@@ -3920,14 +3934,32 @@ gtk_tree_view_remove_column (GtkTreeView *tree_view,
g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1); g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1);
g_return_val_if_fail (column->tree_view == GTK_WIDGET (tree_view), -1); g_return_val_if_fail (column->tree_view == GTK_WIDGET (tree_view), -1);
tree_view->priv->columns = g_list_remove (tree_view->priv->columns,
column);
column->tree_view = NULL;
_gtk_tree_view_column_unset_tree_view (column); _gtk_tree_view_column_unset_tree_view (column);
tree_view->priv->columns = g_list_remove (tree_view->priv->columns, column);
g_object_unref (G_OBJECT (column)); g_object_unref (G_OBJECT (column));
tree_view->priv->n_columns--; tree_view->priv->n_columns--;
if (GTK_WIDGET_REALIZED (tree_view))