X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=config.c;fp=config.c;h=54880318f7e7842c45255c4d8df72612e5c96a5c;hb=09c9f31289952aba8fe2e2e956d98db0632395a6;hp=0ce6f0635c8c4d93d3a63c1cbd7429be83194295;hpb=30497ff6838696a8e7a10acb9560a7cf37345b3f;p=PuTTY.git diff --git a/config.c b/config.c index 0ce6f063..54880318 100644 --- a/config.c +++ b/config.c @@ -133,12 +133,18 @@ static void printerbox_handler(union control *ctrl, void *dlg, printer_enum *pe; dlg_update_start(ctrl, dlg); - dlg_listbox_clear(ctrl, dlg); - dlg_listbox_add(ctrl, dlg, PRINTER_DISABLED_STRING); - pe = printer_start_enum(&nprinters); - for (i = 0; i < nprinters; i++) - dlg_listbox_add(ctrl, dlg, printer_get_name(pe, i)); - printer_finish_enum(pe); + /* + * Some backends may wish to disable the drop-down list on + * this edit box. Be prepared for this. + */ + if (ctrl->editbox.has_list) { + dlg_listbox_clear(ctrl, dlg); + dlg_listbox_add(ctrl, dlg, PRINTER_DISABLED_STRING); + pe = printer_start_enum(&nprinters); + for (i = 0; i < nprinters; i++) + dlg_listbox_add(ctrl, dlg, printer_get_name(pe, i)); + printer_finish_enum(pe); + } dlg_editbox_set(ctrl, dlg, (*cfg->printer ? cfg->printer : PRINTER_DISABLED_STRING));