]> Pileus Git - ~andy/gtk/commitdiff
treeview: fix a critical warning
authorCosimo Cecchi <cosimoc@gnome.org>
Fri, 8 Mar 2013 22:56:08 +0000 (17:56 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 9 Mar 2013 01:20:28 +0000 (20:20 -0500)
gtk_tree_view_column_unset_tree_view() resets column->priv->tree_view to
NULL.
The function is called when a column is removed, but later from the same
function we would call _gtk_tree_view_column_unrealize_button(), which
expects column->priv->tree_view to be != NULL, causing these critical
warnings

Gtk-CRITICAL **: gtk_widget_unregister_window: assertion
`GTK_IS_WIDGET (widget)' failed

This commit moves the call to unset the tree view after the button is
unrealized.

https://bugzilla.gnome.org/show_bug.cgi?id=695473

gtk/gtktreeview.c

index 505f41b588eca0e786c522e7b97655ae0de34240..21873d775bd3c34d8ba9c3aad8f482dce97d4ee5 100644 (file)
@@ -11965,8 +11965,6 @@ gtk_tree_view_remove_column (GtkTreeView       *tree_view,
                                         G_CALLBACK (column_sizing_notify),
                                         tree_view);
 
-  _gtk_tree_view_column_unset_tree_view (column);
-
   position = g_list_index (tree_view->priv->columns, column);
 
   tree_view->priv->columns = g_list_remove (tree_view->priv->columns, column);
@@ -11994,7 +11992,7 @@ gtk_tree_view_remove_column (GtkTreeView       *tree_view,
     }
 
   _gtk_tree_view_reset_header_styles (tree_view);
-
+  _gtk_tree_view_column_unset_tree_view (column);
   _gtk_tree_view_accessible_remove_column (tree_view, column, position);
 
   g_object_unref (column);