From 76d416305f74670cebaaaa639f39554b77cbe3e0 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Mon, 5 Nov 2001 19:50:35 +0000 Subject: We should only pre_change here if frozen = 0, otherwise we'll leak 2001-11-03 Christopher James Lahey * e-tree-memory.c (e_tree_memory_freeze): We should only pre_change here if frozen = 0, otherwise we'll leak pre_changes. Helps fix Ximian bug #14422. * e-tree-sorted.c (ets_proxy_node_data_changed, ets_proxy_node_col_changed): Send a no_change signal here if given a NULL path. Helps fix Ximian bug #14422. svn path=/trunk/; revision=14591 --- widgets/table/e-tree-memory.c | 3 ++- widgets/table/e-tree-sorted.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/widgets/table/e-tree-memory.c b/widgets/table/e-tree-memory.c index 9f6af6535c..330dac93fb 100644 --- a/widgets/table/e-tree-memory.c +++ b/widgets/table/e-tree-memory.c @@ -163,7 +163,8 @@ e_tree_memory_freeze(ETreeMemory *etmm) { ETreeMemoryPriv *priv = etmm->priv; - e_tree_model_pre_change(E_TREE_MODEL(etmm)); + if (priv->frozen == 0) + e_tree_model_pre_change(E_TREE_MODEL(etmm)); priv->frozen ++; } diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c index 56bd3d3db6..b51b1e6398 100644 --- a/widgets/table/e-tree-sorted.c +++ b/widgets/table/e-tree-sorted.c @@ -1039,7 +1039,8 @@ ets_proxy_node_data_changed (ETreeModel *etm, ETreePath node, ETreeSorted *ets) if (path) { if (!reposition_path(ets, path)) e_tree_model_node_data_changed(E_TREE_MODEL(ets), path); - } + } else + e_tree_model_no_change(E_TREE_MODEL(ets)); } static void @@ -1053,7 +1054,8 @@ ets_proxy_node_col_changed (ETreeModel *etm, ETreePath node, int col, ETreeSorte changed = reposition_path(ets, path); if (!changed) e_tree_model_node_col_changed(E_TREE_MODEL(ets), path, col); - } + } else + e_tree_model_no_change(E_TREE_MODEL(ets)); } static void -- cgit