projects
/
org.ibex.core.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
08f2221
)
2003/11/29 19:50:55
author
megacz
<megacz@xwt.org>
Fri, 30 Jan 2004 07:42:25 +0000
(07:42 +0000)
committer
megacz
<megacz@xwt.org>
Fri, 30 Jan 2004 07:42:25 +0000
(07:42 +0000)
darcs-hash:
20040130074225
-2ba56-
479ddb3544e32d1e496dced16f4cbb7c6ed89cfa
.gz
src/org/xwt/util/BalancedTree.java
patch
|
blob
|
history
diff --git
a/src/org/xwt/util/BalancedTree.java
b/src/org/xwt/util/BalancedTree.java
index
988351d
..
e37e3f8
100644
(file)
--- a/
src/org/xwt/util/BalancedTree.java
+++ b/
src/org/xwt/util/BalancedTree.java
@@
-208,6
+208,17
@@
public class BalancedTree {
if (size[arg] != 0) throw new Error("double insertion");
+ if (replace) {
+ if (diff == 0) {
+ objects[slot] = objects[arg];
+ objects[arg] = null;
+ left[arg] = right[arg] = size[arg] = 0;
+ } else {
+ // since we already clamped the index
+ throw new Error("this should never happen");
+ }
+ }
+
// we become the child of a former leaf
if (slot <= 0) {
int[] left = wentLeft ? BalancedTree.left : BalancedTree.right;