X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/2e85c969d67eb14a07314802d4ac5dd63eef660b..158cb9b1b46a7b1a7f8c01171f5b32d6526a4367:/windows/windlg.c diff --git a/windows/windlg.c b/windows/windlg.c index 0fd1acb8..019f6155 100644 --- a/windows/windlg.c +++ b/windows/windlg.c @@ -42,8 +42,6 @@ static int nevents = 0, negsize = 0; extern Config cfg; /* defined in window.c */ -struct sesslist sesslist; /* exported to window.c */ - #define PRINTER_DISABLED_STRING "None (printing disabled)" void force_normal(HWND hwnd) @@ -242,7 +240,7 @@ static int SaneDialogBox(HINSTANCE hinst, wc.style = CS_DBLCLKS | CS_SAVEBITS | CS_BYTEALIGNWINDOW; wc.lpfnWndProc = DefDlgProc; wc.cbClsExtra = 0; - wc.cbWndExtra = DLGWINDOWEXTRA + 8; + wc.cbWndExtra = DLGWINDOWEXTRA + 2*sizeof(LONG_PTR); wc.hInstance = hinst; wc.hIcon = NULL; wc.hCursor = LoadCursor(NULL, IDC_ARROW); @@ -253,11 +251,11 @@ static int SaneDialogBox(HINSTANCE hinst, hwnd = CreateDialog(hinst, tmpl, hwndparent, lpDialogFunc); - SetWindowLong(hwnd, BOXFLAGS, 0); /* flags */ - SetWindowLong(hwnd, BOXRESULT, 0); /* result from SaneEndDialog */ + SetWindowLongPtr(hwnd, BOXFLAGS, 0); /* flags */ + SetWindowLongPtr(hwnd, BOXRESULT, 0); /* result from SaneEndDialog */ while ((gm=GetMessage(&msg, NULL, 0, 0)) > 0) { - flags=GetWindowLong(hwnd, BOXFLAGS); + flags=GetWindowLongPtr(hwnd, BOXFLAGS); if (!(flags & DF_END) && !IsDialogMessage(hwnd, &msg)) DispatchMessage(&msg); if (flags & DF_END) @@ -267,15 +265,15 @@ static int SaneDialogBox(HINSTANCE hinst, if (gm == 0) PostQuitMessage(msg.wParam); /* We got a WM_QUIT, pass it on */ - ret=GetWindowLong(hwnd, BOXRESULT); + ret=GetWindowLongPtr(hwnd, BOXRESULT); DestroyWindow(hwnd); return ret; } static void SaneEndDialog(HWND hwnd, int ret) { - SetWindowLong(hwnd, BOXRESULT, ret); - SetWindowLong(hwnd, BOXFLAGS, DF_END); + SetWindowLongPtr(hwnd, BOXRESULT, ret); + SetWindowLongPtr(hwnd, BOXFLAGS, DF_END); } /* @@ -362,6 +360,8 @@ static void create_controls(HWND hwnd, char *path) /* * This function is the configuration box. + * (Being a dialog procedure, in general it returns 0 if the default + * dialog processing should be performed, and 1 if it should not.) */ static int CALLBACK GenericMainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -375,10 +375,11 @@ static int CALLBACK GenericMainDlgProc(HWND hwnd, UINT msg, dp.hwnd = hwnd; create_controls(hwnd, ""); /* Open and Cancel buttons etc */ SetWindowText(hwnd, dp.wintitle); - SetWindowLong(hwnd, GWL_USERDATA, 0); + SetWindowLongPtr(hwnd, GWLP_USERDATA, 0); if (help_path) - SetWindowLong(hwnd, GWL_EXSTYLE, - GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_CONTEXTHELP); + SetWindowLongPtr(hwnd, GWL_EXSTYLE, + GetWindowLongPtr(hwnd, GWL_EXSTYLE) | + WS_EX_CONTEXTHELP); else { HWND item = GetDlgItem(hwnd, IDC_HELPBTN); if (item) @@ -512,7 +513,7 @@ static int CALLBACK GenericMainDlgProc(HWND hwnd, UINT msg, } } - SetWindowLong(hwnd, GWL_USERDATA, 1); + SetWindowLongPtr(hwnd, GWLP_USERDATA, 1); return 0; case WM_LBUTTONUP: /* @@ -573,7 +574,7 @@ static int CALLBACK GenericMainDlgProc(HWND hwnd, UINT msg, /* * Only process WM_COMMAND once the dialog is fully formed. */ - if (GetWindowLong(hwnd, GWL_USERDATA) == 1) { + if (GetWindowLongPtr(hwnd, GWLP_USERDATA) == 1) { ret = winctrl_handle_command(&dp, msg, wParam, lParam); if (dp.ended && GetCapture() != hwnd) SaneEndDialog(hwnd, dp.endresult ? 1 : 0); @@ -647,7 +648,7 @@ int do_config(void) int ret; ctrlbox = ctrl_new_box(); - setup_config_box(ctrlbox, &sesslist, FALSE, 0, 0); + setup_config_box(ctrlbox, FALSE, 0, 0); win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), FALSE); dp_init(&dp); winctrl_init(&ctrls_base); @@ -659,11 +660,9 @@ int do_config(void) dp.data = &cfg; dp.shortcuts['g'] = TRUE; /* the treeview: `Cate&gory' */ - get_sesslist(&sesslist, TRUE); ret = SaneDialogBox(hinst, MAKEINTRESOURCE(IDD_MAINBOX), NULL, GenericMainDlgProc); - get_sesslist(&sesslist, FALSE); ctrl_free_box(ctrlbox); winctrl_cleanup(&ctrls_panel); @@ -681,7 +680,7 @@ int do_reconfig(HWND hwnd, int protcfginfo) backup_cfg = cfg; /* structure copy */ ctrlbox = ctrl_new_box(); - setup_config_box(ctrlbox, &sesslist, TRUE, cfg.protocol, protcfginfo); + setup_config_box(ctrlbox, TRUE, cfg.protocol, protcfginfo); win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), TRUE); dp_init(&dp); winctrl_init(&ctrls_base);