From df9b2294dbeaedb6ba1af833d0c09f1a294702e9 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 25 Apr 2007 20:04:25 +0000 Subject: add a popup dialog that shows where you are in a keychain --- openbox/keytree.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'openbox/keytree.c') diff --git a/openbox/keytree.c b/openbox/keytree.c index e86fb4c6..b41b1cf7 100644 --- a/openbox/keytree.c +++ b/openbox/keytree.c @@ -52,16 +52,14 @@ KeyBindingTree *tree_build(GList *keylist) return NULL; /* nothing in the list.. */ for (it = g_list_last(keylist); it; it = g_list_previous(it)) { + GList *kit; + p = ret; ret = g_new0(KeyBindingTree, 1); - if (p == NULL) { - GList *it; - /* this is the first built node, the bottom node of the tree */ - ret->keylist = g_list_copy(keylist); /* shallow copy */ - for (it = ret->keylist; it; it = g_list_next(it)) /* deep copy */ - it->data = g_strdup(it->data); - } + for (kit = it; kit != NULL; kit = g_list_previous(kit)) + ret->keylist = g_list_prepend(ret->keylist, + g_strdup(kit->data)); /* deep copy */ ret->first_child = p; if (!translate_key(it->data, &ret->state, &ret->key)) { tree_destroy(ret); -- cgit v1.2.3