summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-30 20:49:56 +0000
committerDana Jansens <danakj@orodu.net>2002-12-30 20:49:56 +0000
commit40f3dfbaadef7e5b008d320ab92d47dbb63db1a9 (patch)
tree0f86825655b1ffac745e71629f64fe591258a323 /src
parent509e6a8f439bba220d71393b4da9597b7f8fa180 (diff)
still busted
Diffstat (limited to 'src')
-rw-r--r--src/bindings.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/bindings.cc b/src/bindings.cc
index b854ba25..4cffb559 100644
--- a/src/bindings.cc
+++ b/src/bindings.cc
@@ -150,7 +150,6 @@ BindingTree *OBBindings::buildtree(const StringVect &keylist, int id)
ret = new BindingTree(id);
if (!p) ret->chain = false;
ret->first_child = p;
- printf("adding child %lx\n", (long)p);
if (!translate(*it, ret->binding, true)) {
destroytree(ret);
ret = 0;
@@ -211,6 +210,7 @@ void OBBindings::assimilate(BindingTree *node)
{
BindingTree *a, *b, *tmp, *last;
+ printf("node=%lx\n", (long)node);
if (!_keytree.first_child) {
// there are no nodes at this level yet
_keytree.first_child = node;
@@ -220,16 +220,21 @@ void OBBindings::assimilate(BindingTree *node)
last = a;
b = node;
while (a) {
+ printf("in while.. b=%lx\n", (long)b);
last = a;
if (a->binding != b->binding) {
a = a->next_sibling;
} else {
+ printf("a: %s %d %d\n", a->text.c_str(), a->binding.key, a->binding.modifiers);
+ printf("b: %s %d %d\n", b->text.c_str(), b->binding.key, b->binding.modifiers);
+ printf("moving up one in b\n");
tmp = b;
b = b->first_child;
delete tmp;
a = a->first_child;
}
}
+ printf("after while.. b=%lx\n", (long)b);
if (last->binding != b->binding)
last->next_sibling = b;
else
@@ -266,7 +271,7 @@ bool OBBindings::add_key(const StringVect &keylist, int id)
if (!(tree = buildtree(keylist, id)))
return false; // invalid binding requested
- if (find_key(tree) < -1) {
+ if (find_key(tree) != -1) {
// conflicts with another binding
destroytree(tree);
return false;