diff --git a/src/ChangeLog b/src/ChangeLog index 2794b7abd..ecf404b10 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-11-02 Pavel Tsekov + + * dialog.c (do_select_widget): Walk the whole widgets list looking + for a widget accepting the focus. + 2004-11-01 Roland Illig * utilunix.c (mc_tmpdir): Use putenv(3) instead of setenv(3) if diff --git a/src/dialog.c b/src/dialog.c index b14b7e05a..e7f98155e 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -427,7 +427,7 @@ do_select_widget (Dlg_head *h, Widget *w, select_dir_t dir) return; h->current = w; - while (h->current != w0) { + do { if (dlg_focus (h)) break; @@ -443,7 +443,7 @@ do_select_widget (Dlg_head *h, Widget *w, select_dir_t dir) dlg_focus (h); return; } - } + } while (h->current != w); if (dlg_overlap (w0, h->current)) { send_message (h->current, WIDGET_DRAW, 0);