aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-03-24 05:44:32 +0800
committerChris Lahey <clahey@src.gnome.org>2001-03-24 05:44:32 +0800
commit2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e (patch)
tree511336392f123191a823f88461ed98a32a369b35 /widgets
parent320e99019744888db9c5a66063314e316b444de4 (diff)
downloadgsoc2013-evolution-2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e.tar.gz
gsoc2013-evolution-2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e.tar.zst
gsoc2013-evolution-2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e.zip
Made this only up the insert_count if it actually had to do any non
2001-03-23 Christopher James Lahey <clahey@ximian.com> * 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
Diffstat (limited to 'widgets')
-rw-r--r--widgets/table/e-tree-sorted.c7
1 files changed, 4 insertions, 3 deletions
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
removal&id=9ddd3b82d6dc17d4f1d24406279c66dc9f23b128'>Clear moonlight beckons.ade2003-03-072-1/+1 * Do not fail if libXrender.so doesn't exist at all.mbr2003-02-221-0/+2 * Make some installation notes more clear. Inspired bymbr2003-02-202-7/+24 * Add staroffice6 wrapper script.mbr2003-02-051-0/+15 * Fetch the sunsolve patch for inofficial distsites, we have thembr2003-02-052-13/+25 * Remove obsolete linembr2003-01-231-1/+0 * Update StarOffice6.0 to patchlevel 3mbr2003-01-222-10/+21 * Use tabs.obrien2003-01-081-2/+2 * Add install-update target to update a installed version withmbr2002-07-171-0/+5