From 2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 23 Mar 2001 21:44:32 +0000 Subject: Made this only up the insert_count if it actually had to do any non 2001-03-23 Christopher James Lahey * e-tree-sorted.c (reposition_path): Made this only up the insert_count if it actually had to do any non constant work to reposition the path. svn path=/trunk/; revision=8918 --- widgets/table/e-tree-sorted.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'widgets/table/e-tree-sorted.c') diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c index 168dc6aec7..b5fc211347 100644 --- a/widgets/table/e-tree-sorted.c +++ b/widgets/table/e-tree-sorted.c @@ -302,7 +302,6 @@ reposition_path (ETreeSorted *ets, ETreeSortedPath *path) ETreeSortedPath *parent = path->parent; if (parent) { if (ets->priv->sort_idle_id == 0) { - ets->priv->insert_count++; if (ets->priv->insert_count > ETS_INSERT_MAX) { /* schedule a sort, and append instead */ schedule_resort(ets, parent, TRUE, FALSE); @@ -322,20 +321,22 @@ reposition_path (ETreeSorted *ets, ETreeSortedPath *path) if (new_index > old_index) { int i; - e_tree_model_pre_change(E_TREE_MODEL(ets)); + ets->priv->insert_count++; memmove(parent->children + old_index, parent->children + old_index + 1, sizeof (ETreePath) * (new_index - old_index)); parent->children[new_index] = path; for (i = old_index; i <= new_index; i++) parent->children[i]->position = i; e_tree_model_node_changed(E_TREE_MODEL(ets), parent); + e_tree_model_pre_change(E_TREE_MODEL(ets)); } else if (new_index < old_index) { int i; - e_tree_model_pre_change(E_TREE_MODEL(ets)); + ets->priv->insert_count++; memmove(parent->children + new_index + 1, parent->children + new_index, sizeof (ETreePath) * (old_index - new_index)); parent->children[new_index] = path; for (i = new_index; i <= old_index; i++) parent->children[i]->position = i; e_tree_model_node_changed(E_TREE_MODEL(ets), parent); + e_tree_model_pre_change(E_TREE_MODEL(ets)); } } } else -- cgit v1.2.3