summaryrefslogtreecommitdiff
path: root/plugins/DbChecker/src/wizard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/DbChecker/src/wizard.cpp')
-rw-r--r--plugins/DbChecker/src/wizard.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/plugins/DbChecker/src/wizard.cpp b/plugins/DbChecker/src/wizard.cpp
index 2653f2f04b..a1b2b65645 100644
--- a/plugins/DbChecker/src/wizard.cpp
+++ b/plugins/DbChecker/src/wizard.cpp
@@ -92,23 +92,24 @@ int DoMyControlProcessing(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam,
INT_PTR CALLBACK WizardDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hdlgPage;
+ auto *opts = (DbToolOptions *)GetWindowLongPtr(hdlg, GWLP_USERDATA);
switch (message) {
case WM_INITDIALOG:
TranslateDialogDefault(hdlg);
+ SetWindowLongPtr(hdlg, GWLP_USERDATA, lParam);
SendMessage(hdlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(g_plugin.getInst(), MAKEINTRESOURCE(IDI_DBTOOL)));
hdlgPage = nullptr;
- SendMessage(hdlg, WZM_GOTOPAGE, IDD_SELECTDB, (LPARAM)SelectDbDlgProc);
+ OpenDatabase(hdlg);
return TRUE;
case WZM_GOTOPAGE:
if (hdlgPage != nullptr) DestroyWindow(hdlgPage);
- EnableWindow(GetDlgItem(hdlg, IDC_BACK), TRUE);
EnableWindow(GetDlgItem(hdlg, IDOK), TRUE);
EnableWindow(GetDlgItem(hdlg, IDCANCEL), TRUE);
SetDlgItemText(hdlg, IDCANCEL, TranslateT("Cancel"));
- hdlgPage = CreateDialog(g_plugin.getInst(), MAKEINTRESOURCE(wParam), hdlg, (DLGPROC)lParam);
+ hdlgPage = CreateDialogParamW(g_plugin.getInst(), MAKEINTRESOURCE(wParam), hdlg, (DLGPROC)lParam, LPARAM(opts));
TranslateDialogDefault(hdlgPage);
SetWindowPos(hdlgPage, nullptr, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
ShowWindow(hdlgPage, SW_SHOW);
@@ -116,7 +117,6 @@ INT_PTR CALLBACK WizardDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lP
case WM_COMMAND:
switch (LOWORD(wParam)) {
- case IDC_BACK:
case IDOK:
SendMessage(hdlgPage, WZN_PAGECHANGING, wParam, 0);
SendMessage(hdlgPage, message, wParam, lParam);
@@ -131,10 +131,11 @@ INT_PTR CALLBACK WizardDlgProc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lP
break;
case WM_DESTROY:
- if (opts.dbChecker) {
- opts.dbChecker->Destroy();
- opts.dbChecker = nullptr;
+ if (opts->dbChecker) {
+ opts->dbChecker->Destroy();
+ opts->dbChecker = nullptr;
}
+ delete opts;
DestroyWindow(hdlgPage);
if (hBoldFont != nullptr) {