# HG changeset patch # User Sadrul Habib Chowdhury # Date 1186824726 0 # Node ID c79177766e13718e01fa222b18341455f7f3ac56 # Parent 974f9298814c9d4c85ebc0b8cd0d83dcb51764cd Fix faulty merge. diff -r 974f9298814c -r c79177766e13 finch/libgnt/gntbox.c --- a/finch/libgnt/gntbox.c Sat Aug 11 02:38:56 2007 +0000 +++ b/finch/libgnt/gntbox.c Sat Aug 11 09:32:06 2007 +0000 @@ -316,6 +316,10 @@ { find_next_focus(box); } + else if (strcmp(text, GNT_KEY_BACK_TAB) == 0) + { + find_prev_focus(box); + } } else if (text[0] == '\t') { diff -r 974f9298814c -r c79177766e13 finch/libgnt/gntkeys.c --- a/finch/libgnt/gntkeys.c Sat Aug 11 02:38:56 2007 +0000 +++ b/finch/libgnt/gntkeys.c Sat Aug 11 09:32:06 2007 +0000 @@ -72,6 +72,7 @@ INSERT_KEY("pagedown", GNT_KEY_PGDOWN); INSERT_KEY("insert", GNT_KEY_INS); INSERT_KEY("delete", GNT_KEY_DEL); + INSERT_KEY("back_tab", GNT_KEY_BACK_TAB); INSERT_KEY("left", GNT_KEY_LEFT); INSERT_KEY("right", GNT_KEY_RIGHT); @@ -205,8 +206,8 @@ node->flags |= IS_END; return; } - while (*path && node->next[*path]) { - node = node->next[*path]; + while (*path && node->next[(unsigned char)*path]) { + node = node->next[(unsigned char)*path]; node->ref++; path++; } @@ -214,7 +215,7 @@ return; n = g_new0(struct _node, 1); n->ref = 1; - node->next[*path++] = n; + node->next[(unsigned char)*path++] = n; add_path(n, path); } @@ -229,13 +230,13 @@ if (!*path) return; - next = node->next[*path]; + next = node->next[(unsigned char)*path]; if (!next) return; del_path(next, path + 1); next->ref--; if (next->ref == 0) { - node->next[*path] = NULL; + node->next[(unsigned char)*path] = NULL; g_free(next); } } @@ -251,12 +252,12 @@ struct _node *n = &root; root.flags &= ~IS_END; - while (*path && n->next[*path] && !(n->flags & IS_END)) { + while (*path && n->next[(unsigned char)*path] && !(n->flags & IS_END)) { if (!g_ascii_isspace(*path) && !g_ascii_iscntrl(*path) && !g_ascii_isgraph(*path)) return 0; - n = n->next[*path++]; + n = n->next[(unsigned char)*path++]; depth++; } diff -r 974f9298814c -r c79177766e13 finch/libgnt/gntmenu.c --- a/finch/libgnt/gntmenu.c Sat Aug 11 02:38:56 2007 +0000 +++ b/finch/libgnt/gntmenu.c Sat Aug 11 09:32:06 2007 +0000 @@ -337,7 +337,10 @@ static void gnt_menu_hide(GntWidget *widget) { - GntMenu *menu = GNT_MENU(widget); + GntMenu *sub, *menu = GNT_MENU(widget); + + while ((sub = menu->submenu)) + gnt_widget_hide(GNT_WIDGET(sub)); if (menu->parentmenu) menu->parentmenu->submenu = NULL; }