mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
As usual, gcc is better at warnings than MSVC, so here are some
pedantic fiddlings with the new config-box stuff to cure some. [originally from svn r2909]
This commit is contained in:
parent
616c837cf0
commit
8228cd2d72
5
dialog.c
5
dialog.c
@ -6,6 +6,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#define DEFINE_INTORPTR_FNS
|
#define DEFINE_INTORPTR_FNS
|
||||||
|
|
||||||
@ -293,8 +294,8 @@ union control *ctrl_radiobuttons(struct controlset *s, char *label,
|
|||||||
while (va_arg(ap, char *) != NULL) {
|
while (va_arg(ap, char *) != NULL) {
|
||||||
i++;
|
i++;
|
||||||
if (c->radio.shortcut == NO_SHORTCUT)
|
if (c->radio.shortcut == NO_SHORTCUT)
|
||||||
va_arg(ap, int); /* char promotes to int in arg lists */
|
(void)va_arg(ap, int); /* char promotes to int in arg lists */
|
||||||
va_arg(ap, intorptr);
|
(void)va_arg(ap, intorptr);
|
||||||
}
|
}
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
c->radio.nbuttons = i;
|
c->radio.nbuttons = i;
|
||||||
|
6
putty.h
6
putty.h
@ -776,6 +776,12 @@ extern int cmdline_tooltype;
|
|||||||
|
|
||||||
void cmdline_error(char *, ...);
|
void cmdline_error(char *, ...);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Exports from config.c.
|
||||||
|
*/
|
||||||
|
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
|
||||||
|
int midsession, int protocol);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* X11 auth mechanisms we know about.
|
* X11 auth mechanisms we know about.
|
||||||
*/
|
*/
|
||||||
|
42
winctrls.c
42
winctrls.c
@ -16,6 +16,7 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "winstuff.h"
|
#include "winstuff.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
@ -94,7 +95,8 @@ HWND doctl(struct ctlpos *cp, RECT r,
|
|||||||
SWP_NOACTIVATE | SWP_NOCOPYBITS |
|
SWP_NOACTIVATE | SWP_NOCOPYBITS |
|
||||||
SWP_NOMOVE | SWP_NOZORDER);
|
SWP_NOMOVE | SWP_NOZORDER);
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
|
ctl = NULL;
|
||||||
return ctl;
|
return ctl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,7 +386,6 @@ void checkbox(struct ctlpos *cp, char *text, int id)
|
|||||||
*/
|
*/
|
||||||
char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines)
|
char *staticwrap(struct ctlpos *cp, HWND hwnd, char *text, int *lines)
|
||||||
{
|
{
|
||||||
HFONT font = (HFONT) cp->font;
|
|
||||||
HDC hdc = GetDC(hwnd);
|
HDC hdc = GetDC(hwnd);
|
||||||
int lpx = GetDeviceCaps(hdc, LOGPIXELSX);
|
int lpx = GetDeviceCaps(hdc, LOGPIXELSX);
|
||||||
int width, nlines, j;
|
int width, nlines, j;
|
||||||
@ -1040,7 +1041,7 @@ int handle_prefslist(struct prefslist *hdl,
|
|||||||
|
|
||||||
if ((int)wParam == hdl->listid) {
|
if ((int)wParam == hdl->listid) {
|
||||||
DRAGLISTINFO *dlm = (DRAGLISTINFO *)lParam;
|
DRAGLISTINFO *dlm = (DRAGLISTINFO *)lParam;
|
||||||
int dest;
|
int dest = 0; /* initialise to placate gcc */
|
||||||
switch (dlm->uNotification) {
|
switch (dlm->uNotification) {
|
||||||
case DL_BEGINDRAG:
|
case DL_BEGINDRAG:
|
||||||
hdl->dummyitem =
|
hdl->dummyitem =
|
||||||
@ -1321,9 +1322,10 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
|
|
||||||
struct ctlpos pos;
|
struct ctlpos pos;
|
||||||
|
|
||||||
char shortcuts[MAX_SHORTCUTS_PER_CTRL], nshortcuts;
|
char shortcuts[MAX_SHORTCUTS_PER_CTRL];
|
||||||
|
int nshortcuts;
|
||||||
char *escaped;
|
char *escaped;
|
||||||
int i, base_id, num_ids, orig_tabdelay;
|
int i, base_id, num_ids;
|
||||||
void *data;
|
void *data;
|
||||||
|
|
||||||
base_id = *id;
|
base_id = *id;
|
||||||
@ -1365,8 +1367,6 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
for (i = 0; i < s->ncontrols; i++) {
|
for (i = 0; i < s->ncontrols; i++) {
|
||||||
union control *ctrl = s->ctrls[i];
|
union control *ctrl = s->ctrls[i];
|
||||||
|
|
||||||
orig_tabdelay = FALSE;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Generic processing that pertains to all control types.
|
* Generic processing that pertains to all control types.
|
||||||
* At the end of this if statement, we'll have produced
|
* At the end of this if statement, we'll have produced
|
||||||
@ -1423,7 +1423,6 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
|
|
||||||
assert(!ctrl->generic.tabdelay);
|
assert(!ctrl->generic.tabdelay);
|
||||||
ctrl = ctrl->tabdelay.ctrl;
|
ctrl = ctrl->tabdelay.ctrl;
|
||||||
orig_tabdelay = TRUE;
|
|
||||||
|
|
||||||
for (i = 0; i < ntabdelays; i++)
|
for (i = 0; i < ntabdelays; i++)
|
||||||
if (tabdelayed[i] == ctrl)
|
if (tabdelayed[i] == ctrl)
|
||||||
@ -1432,6 +1431,8 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
|
|
||||||
pos = tabdelays[i]; /* structure copy */
|
pos = tabdelays[i]; /* structure copy */
|
||||||
|
|
||||||
|
colstart = colspan = -1; /* indicate this was tab-delayed */
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If it wasn't one of those, it's a genuine control;
|
* If it wasn't one of those, it's a genuine control;
|
||||||
@ -1638,6 +1639,7 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(!"Can't happen");
|
assert(!"Can't happen");
|
||||||
|
num_ids = 0; /* placate gcc */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1659,7 +1661,7 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
base_id += num_ids;
|
base_id += num_ids;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!orig_tabdelay) {
|
if (colstart >= 0) {
|
||||||
/*
|
/*
|
||||||
* Update the ypos in all columns crossed by this
|
* Update the ypos in all columns crossed by this
|
||||||
* control.
|
* control.
|
||||||
@ -1728,6 +1730,7 @@ int winctrl_handle_command(struct dlgparam *dp, UINT msg,
|
|||||||
/*
|
/*
|
||||||
* Look up the control ID in our data.
|
* Look up the control ID in our data.
|
||||||
*/
|
*/
|
||||||
|
c = NULL;
|
||||||
for (i = 0; i < dp->nctrltrees; i++) {
|
for (i = 0; i < dp->nctrltrees; i++) {
|
||||||
c = winctrl_findbyid(dp->controltrees[i], LOWORD(wParam));
|
c = winctrl_findbyid(dp->controltrees[i], LOWORD(wParam));
|
||||||
if (c)
|
if (c)
|
||||||
@ -1823,8 +1826,8 @@ int winctrl_handle_command(struct dlgparam *dp, UINT msg,
|
|||||||
* checked before generating an event.
|
* checked before generating an event.
|
||||||
*/
|
*/
|
||||||
if (msg == WM_COMMAND &&
|
if (msg == WM_COMMAND &&
|
||||||
HIWORD(wParam) == BN_CLICKED ||
|
(HIWORD(wParam) == BN_CLICKED ||
|
||||||
HIWORD(wParam) == BN_DOUBLECLICKED &&
|
HIWORD(wParam) == BN_DOUBLECLICKED) &&
|
||||||
IsDlgButtonChecked(dp->hwnd, LOWORD(wParam))) {
|
IsDlgButtonChecked(dp->hwnd, LOWORD(wParam))) {
|
||||||
ctrl->generic.handler(ctrl, dp, dp->data, EVENT_VALCHANGE);
|
ctrl->generic.handler(ctrl, dp, dp->data, EVENT_VALCHANGE);
|
||||||
}
|
}
|
||||||
@ -2014,6 +2017,7 @@ int winctrl_context_help(struct dlgparam *dp, HWND hwnd, int id)
|
|||||||
/*
|
/*
|
||||||
* Look up the control ID in our data.
|
* Look up the control ID in our data.
|
||||||
*/
|
*/
|
||||||
|
c = NULL;
|
||||||
for (i = 0; i < dp->nctrltrees; i++) {
|
for (i = 0; i < dp->nctrltrees; i++) {
|
||||||
c = winctrl_findbyid(dp->controltrees[i], id);
|
c = winctrl_findbyid(dp->controltrees[i], id);
|
||||||
if (c)
|
if (c)
|
||||||
@ -2117,8 +2121,8 @@ void dlg_listbox_clear(union control *ctrl, void *dlg)
|
|||||||
int msg;
|
int msg;
|
||||||
assert(c &&
|
assert(c &&
|
||||||
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
||||||
c->ctrl->generic.type == CTRL_EDITBOX &&
|
(c->ctrl->generic.type == CTRL_EDITBOX &&
|
||||||
c->ctrl->editbox.has_list));
|
c->ctrl->editbox.has_list)));
|
||||||
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
||||||
LB_RESETCONTENT : CB_RESETCONTENT);
|
LB_RESETCONTENT : CB_RESETCONTENT);
|
||||||
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, 0, 0);
|
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, 0, 0);
|
||||||
@ -2131,8 +2135,8 @@ void dlg_listbox_del(union control *ctrl, void *dlg, int index)
|
|||||||
int msg;
|
int msg;
|
||||||
assert(c &&
|
assert(c &&
|
||||||
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
||||||
c->ctrl->generic.type == CTRL_EDITBOX &&
|
(c->ctrl->generic.type == CTRL_EDITBOX &&
|
||||||
c->ctrl->editbox.has_list));
|
c->ctrl->editbox.has_list)));
|
||||||
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
||||||
LB_DELETESTRING : CB_DELETESTRING);
|
LB_DELETESTRING : CB_DELETESTRING);
|
||||||
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, index, 0);
|
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, index, 0);
|
||||||
@ -2145,8 +2149,8 @@ void dlg_listbox_add(union control *ctrl, void *dlg, char const *text)
|
|||||||
int msg;
|
int msg;
|
||||||
assert(c &&
|
assert(c &&
|
||||||
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
||||||
c->ctrl->generic.type == CTRL_EDITBOX &&
|
(c->ctrl->generic.type == CTRL_EDITBOX &&
|
||||||
c->ctrl->editbox.has_list));
|
c->ctrl->editbox.has_list)));
|
||||||
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
||||||
LB_ADDSTRING : CB_ADDSTRING);
|
LB_ADDSTRING : CB_ADDSTRING);
|
||||||
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, 0, (LPARAM)text);
|
SendDlgItemMessage(dp->hwnd, c->base_id+1, msg, 0, (LPARAM)text);
|
||||||
@ -2167,8 +2171,8 @@ void dlg_listbox_addwithindex(union control *ctrl, void *dlg,
|
|||||||
int msg, msg2, index;
|
int msg, msg2, index;
|
||||||
assert(c &&
|
assert(c &&
|
||||||
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
(c->ctrl->generic.type == CTRL_LISTBOX ||
|
||||||
c->ctrl->generic.type == CTRL_EDITBOX &&
|
(c->ctrl->generic.type == CTRL_EDITBOX &&
|
||||||
c->ctrl->editbox.has_list));
|
c->ctrl->editbox.has_list)));
|
||||||
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
msg = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
||||||
LB_ADDSTRING : CB_ADDSTRING);
|
LB_ADDSTRING : CB_ADDSTRING);
|
||||||
msg2 = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
msg2 = (c->ctrl->generic.type==CTRL_LISTBOX && c->ctrl->listbox.height!=0 ?
|
||||||
|
13
winstuff.h
13
winstuff.h
@ -266,6 +266,9 @@ struct winctrl {
|
|||||||
struct winctrls {
|
struct winctrls {
|
||||||
tree234 *byctrl, *byid;
|
tree234 *byctrl, *byid;
|
||||||
};
|
};
|
||||||
|
struct controlset;
|
||||||
|
struct controlbox;
|
||||||
|
|
||||||
void winctrl_init(struct winctrls *);
|
void winctrl_init(struct winctrls *);
|
||||||
void winctrl_cleanup(struct winctrls *);
|
void winctrl_cleanup(struct winctrls *);
|
||||||
void winctrl_add(struct winctrls *, struct winctrl *);
|
void winctrl_add(struct winctrls *, struct winctrl *);
|
||||||
@ -277,6 +280,14 @@ void winctrl_layout(struct dlgparam *dp, struct winctrls *wc,
|
|||||||
struct ctlpos *cp, struct controlset *s, int *id);
|
struct ctlpos *cp, struct controlset *s, int *id);
|
||||||
int winctrl_handle_command(struct dlgparam *dp, UINT msg,
|
int winctrl_handle_command(struct dlgparam *dp, UINT msg,
|
||||||
WPARAM wParam, LPARAM lParam);
|
WPARAM wParam, LPARAM lParam);
|
||||||
|
void winctrl_rem_shortcuts(struct dlgparam *dp, struct winctrl *c);
|
||||||
|
int winctrl_context_help(struct dlgparam *dp, HWND hwnd, int id);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Exports from wincfg.c.
|
||||||
|
*/
|
||||||
|
void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
|
||||||
|
int midsession);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Exports from windlg.c.
|
* Exports from windlg.c.
|
||||||
@ -287,6 +298,8 @@ int do_reconfig(HWND);
|
|||||||
void showeventlog(HWND);
|
void showeventlog(HWND);
|
||||||
void showabout(HWND);
|
void showabout(HWND);
|
||||||
void force_normal(HWND hwnd);
|
void force_normal(HWND hwnd);
|
||||||
|
void modal_about_box(HWND hwnd);
|
||||||
|
void show_help(HWND hwnd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Exports from sizetip.c.
|
* Exports from sizetip.c.
|
||||||
|
Loading…
Reference in New Issue
Block a user