X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=windows%2Fwinctrls.c;h=a618a696f657671d7fbaa259549764fbf3d23490;hb=90e7bf4228fa74fda1c65cb2597c9d964329f702;hp=fd58584c6faae2890b8e3aa4b0c2c673330e83f5;hpb=1dac1bc911bd76446f19c48fbca9c868c33f07ca;p=PuTTY.git diff --git a/windows/winctrls.c b/windows/winctrls.c index fd58584c..a618a696 100644 --- a/windows/winctrls.c +++ b/windows/winctrls.c @@ -2011,7 +2011,6 @@ int winctrl_context_help(struct dlgparam *dp, HWND hwnd, int id) { int i; struct winctrl *c; - char *cmd; /* * Look up the control ID in our data. @@ -2195,8 +2194,13 @@ int dlg_listbox_index(union control *ctrl, void *dlg) struct dlgparam *dp = (struct dlgparam *)dlg; struct winctrl *c = dlg_findbyctrl(dp, ctrl); int msg, ret; - assert(c && c->ctrl->generic.type == CTRL_LISTBOX && - !c->ctrl->listbox.multisel); + assert(c && c->ctrl->generic.type == CTRL_LISTBOX); + if (c->ctrl->listbox.multisel) { + assert(c->ctrl->listbox.height != 0); /* not combo box */ + ret = SendDlgItemMessage(dp->hwnd, c->base_id+1, LB_GETSELCOUNT, 0, 0); + if (ret == LB_ERR || ret > 1) + return -1; + } msg = (c->ctrl->listbox.height != 0 ? LB_GETCURSEL : CB_GETCURSEL); ret = SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, 0, 0); if (ret == LB_ERR)