[gtk+/treeview-refactor-staging: 1/11] Manually pulling back a GtkTreeViewColumn fix from treeview-refactor-staging



commit 005964b22a86104ce8a4e9bf344ba2c8c032a58a
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Thu Dec 2 17:42:46 2010 +0900

    Manually pulling back a GtkTreeViewColumn fix from treeview-refactor-staging
    
    This fix has evolved in the staging branch since all column members are
    on a private structure, but since it causes warnings when closing the
    windows of the testcellarea test (because the combo-boxes use a treeviewcolumn)
    I thought it nice for now to just manually include the fix.
    
    The fix is just proper bookkeeping of delegate objects at dispose() time.

 gtk/gtktreeviewcolumn.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index 363082c..f4aa265 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -396,17 +396,20 @@ gtk_tree_view_column_dispose (GObject *object)
   GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object;
 
   if (tree_column->cell_area_context)
-    {
-      g_object_unref (tree_column->cell_area_context);
-
+    { 
       g_signal_handler_disconnect (tree_column->cell_area_context,
 				   tree_column->context_changed_signal);
+
+      g_object_unref (tree_column->cell_area_context);
+
+      tree_column->cell_area_context = NULL;
       tree_column->context_changed_signal = 0;
     }
 
   if (tree_column->cell_area)
     {
       g_object_unref (tree_column->cell_area);
+      tree_column->cell_area = NULL;
     }
 
   if (tree_column->child)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]