X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=windows%2Fwinctrls.c;h=a03967e6f81917a07e9669ea89448ba9b57098d7;hb=510f49e405e71ba5c97875e7a019364e1ef5fac9;hp=60e32f5e6ec3afb28c5482eb17cf6dd1435e8d7a;hpb=4c61cb20a1e18297c0f5da403a88c0bd5872e840;p=PuTTY.git diff --git a/windows/winctrls.c b/windows/winctrls.c index 60e32f5e..a03967e6 100644 --- a/windows/winctrls.c +++ b/windows/winctrls.c @@ -76,7 +76,7 @@ HWND doctl(struct ctlpos *cp, RECT r, if (cp->hwnd) { ctl = CreateWindowEx(exstyle, wclass, wtext, wstyle, r.left, r.top, r.right, r.bottom, - cp->hwnd, (HMENU) wid, hinst, NULL); + cp->hwnd, (HMENU)(ULONG_PTR)wid, hinst, NULL); SendMessage(ctl, WM_SETFONT, cp->font, MAKELPARAM(TRUE, 0)); if (!strcmp(wclass, "LISTBOX")) { @@ -267,10 +267,9 @@ void radioline(struct ctlpos *cp, char *text, int id, int nacross, ...) nbuttons = 0; while (1) { char *btext = va_arg(ap, char *); - int bid; if (!btext) break; - bid = va_arg(ap, int); + (void) va_arg(ap, int); /* id */ nbuttons++; } va_end(ap); @@ -299,10 +298,10 @@ void bareradioline(struct ctlpos *cp, int nacross, ...) nbuttons = 0; while (1) { char *btext = va_arg(ap, char *); - int bid; if (!btext) break; - bid = va_arg(ap, int); + (void) va_arg(ap, int); /* id */ + nbuttons++; } va_end(ap); buttons = snewn(nbuttons, struct radio); @@ -330,10 +329,10 @@ void radiobig(struct ctlpos *cp, char *text, int id, ...) nbuttons = 0; while (1) { char *btext = va_arg(ap, char *); - int bid; if (!btext) break; - bid = va_arg(ap, int); + (void) va_arg(ap, int); /* id */ + nbuttons++; } va_end(ap); buttons = snewn(nbuttons, struct radio); @@ -372,7 +371,6 @@ void checkbox(struct ctlpos *cp, char *text, int id) char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines) { HDC hdc = GetDC(hwnd); - int lpx = GetDeviceCaps(hdc, LOGPIXELSX); int width, nlines, j; INT *pwidths, nfit; SIZE size; @@ -448,6 +446,8 @@ char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines) if (lines) *lines = nlines; + sfree(pwidths); + return ret; } @@ -1665,7 +1665,9 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc, winctrl_add_shortcuts(dp, c); if (actual_base_id == base_id) base_id += num_ids; - } + } else { + sfree(data); + } if (colstart >= 0) { /* @@ -2402,7 +2404,7 @@ void dlg_beep(void *dlg) MessageBeep(0); } -void dlg_error_msg(void *dlg, char *msg) +void dlg_error_msg(void *dlg, const char *msg) { struct dlgparam *dp = (struct dlgparam *)dlg; MessageBox(dp->hwnd, msg, @@ -2528,23 +2530,6 @@ void dlg_set_fixed_pitch_flag(void *dlg, int flag) dp->fixed_pitch_fonts = flag; } -struct perctrl_privdata { - union control *ctrl; - void *data; - int needs_free; -}; - -static int perctrl_privdata_cmp(void *av, void *bv) -{ - struct perctrl_privdata *a = (struct perctrl_privdata *)av; - struct perctrl_privdata *b = (struct perctrl_privdata *)bv; - if (a->ctrl < b->ctrl) - return -1; - else if (a->ctrl > b->ctrl) - return +1; - return 0; -} - void dp_init(struct dlgparam *dp) { dp->nctrltrees = 0; @@ -2554,7 +2539,6 @@ void dp_init(struct dlgparam *dp) memset(dp->shortcuts, 0, sizeof(dp->shortcuts)); dp->hwnd = NULL; dp->wintitle = dp->errtitle = NULL; - dp->privdata = newtree234(perctrl_privdata_cmp); dp->fixed_pitch_fonts = TRUE; } @@ -2566,67 +2550,6 @@ void dp_add_tree(struct dlgparam *dp, struct winctrls *wc) void dp_cleanup(struct dlgparam *dp) { - struct perctrl_privdata *p; - - if (dp->privdata) { - while ( (p = index234(dp->privdata, 0)) != NULL ) { - del234(dp->privdata, p); - if (p->needs_free) - sfree(p->data); - sfree(p); - } - freetree234(dp->privdata); - dp->privdata = NULL; - } sfree(dp->wintitle); sfree(dp->errtitle); } - -void *dlg_get_privdata(union control *ctrl, void *dlg) -{ - struct dlgparam *dp = (struct dlgparam *)dlg; - struct perctrl_privdata tmp, *p; - tmp.ctrl = ctrl; - p = find234(dp->privdata, &tmp, NULL); - if (p) - return p->data; - else - return NULL; -} - -void dlg_set_privdata(union control *ctrl, void *dlg, void *ptr) -{ - struct dlgparam *dp = (struct dlgparam *)dlg; - struct perctrl_privdata tmp, *p; - tmp.ctrl = ctrl; - p = find234(dp->privdata, &tmp, NULL); - if (!p) { - p = snew(struct perctrl_privdata); - p->ctrl = ctrl; - p->needs_free = FALSE; - add234(dp->privdata, p); - } - p->data = ptr; -} - -void *dlg_alloc_privdata(union control *ctrl, void *dlg, size_t size) -{ - struct dlgparam *dp = (struct dlgparam *)dlg; - struct perctrl_privdata tmp, *p; - tmp.ctrl = ctrl; - p = find234(dp->privdata, &tmp, NULL); - if (!p) { - p = snew(struct perctrl_privdata); - p->ctrl = ctrl; - p->needs_free = FALSE; - add234(dp->privdata, p); - } - assert(!p->needs_free); - p->needs_free = TRUE; - /* - * This is an internal allocation routine, so it's allowed to - * use smalloc directly. - */ - p->data = smalloc(size); - return p->data; -}