id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	branch_state	votes
3870	fix INPUT_COMPLETE_CD in quick widget	dzabraev	andrew_b	"Seems to be I found bug in quick widget (lib/widget/quick.c:593).
After dlg_run return, it does check of input values,
in this code there is line

case quick_input:
{{{
 if ((quick_widget->u.input.completion_flags & INPUT_COMPLETE_CD) != 0)
}}}

But quick_widget is iteration variable from previous cycle and this variable always initialized to QUICK_END.

I suggest following patch
{{{
diff --git a/lib/widget/quick.c b/lib/widget/quick.c
index 555d79c4c..3a3d014fb 100644
--- a/lib/widget/quick.c
+++ b/lib/widget/quick.c
@@ -590,7 +590,7 @@ quick_dialog_skip (quick_dialog_t * quick_dlg, int nskip)
                 break;
 
             case quick_input:
-                if ((quick_widget->u.input.completion_flags & INPUT_COMPLETE_CD) != 0)
+                if ((*item->quick_widget->u.input.completion_flags & INPUT_COMPLETE_CD) != 0)
                     *item->quick_widget->u.input.result =
                         tilde_expand (INPUT (item->widget)->buffer);
                 else
}}}"	defect	closed	trivial	4.8.20	mc-core	master	fixed					merged	committed-master
