Index: dll/shellext/netshell/setup.cpp =================================================================== --- dll/shellext/netshell/setup.cpp (revision 72017) +++ dll/shellext/netshell/setup.cpp (working copy) @@ -37,9 +37,9 @@ WPARAM wParam, LPARAM lParam) { + LPNMHDR lpnm; PNETWORKSETUPDATA pNetworkSetupData; - PSETUPDATA pSetupData; - LPNMHDR lpnm; + PSETUPDATA pSetupData = NULL; /* Retrieve pointer to the global setup data */ pNetworkSetupData = (PNETWORKSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA); @@ -81,7 +81,7 @@ case PSN_SETACTIVE: /* Enable the Back and Next buttons */ PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); - if (pSetupData->UnattendSetup) + if (pSetupData && pSetupData->UnattendSetup) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_NETWORKCOMPONENTPAGE); return TRUE; @@ -89,7 +89,8 @@ break; case PSN_WIZNEXT: - pNetworkSetupData->bTypicalNetworkSetup = FALSE; + if(pNetworkSetupData) + pNetworkSetupData->bTypicalNetworkSetup = FALSE; /* If the Typical Settings button is chosen, then skip to the Domain Page */ if (IsDlgButtonChecked(hwndDlg, IDC_NETWORK_TYPICAL) == BST_CHECKED) @@ -101,7 +102,8 @@ break; case PSN_WIZBACK: - pSetupData->UnattendSetup = FALSE; + if(pSetupData) + pSetupData->UnattendSetup = FALSE; break; } break; @@ -122,9 +124,9 @@ WPARAM wParam, LPARAM lParam) { + LPNMHDR lpnm; PNETWORKSETUPDATA pNetworkSetupData; - PSETUPDATA pSetupData; - LPNMHDR lpnm; + PSETUPDATA pSetupData = NULL; /* Retrieve pointer to the global setup data */ pNetworkSetupData = (PNETWORKSETUPDATA)GetWindowLongPtr (hwndDlg, GWL_USERDATA); @@ -161,7 +163,7 @@ case PSN_SETACTIVE: /* Enable the Back and Next buttons */ PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); - if (pSetupData->UnattendSetup) + if (pSetupData && pSetupData->UnattendSetup) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_NETWORKDOMAINPAGE); return TRUE; @@ -169,7 +171,8 @@ break; case PSN_WIZBACK: - pSetupData->UnattendSetup = FALSE; + if (pSetupData) + pSetupData->UnattendSetup = FALSE; break; } break; @@ -249,7 +252,7 @@ case PSN_SETACTIVE: /* Enable the Back and Next buttons */ PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT); - if (pSetupData->UnattendSetup) + if (pSetupData && pSetupData->UnattendSetup) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, pSetupData->uPostNetworkWizardPage); return TRUE; @@ -280,10 +283,11 @@ break; case PSN_WIZBACK: - pSetupData->UnattendSetup = FALSE; + if(pSetupData) + pSetupData->UnattendSetup = FALSE; /* If the Typical setup chosen, then skip back to the Settings Page */ - if (pNetworkSetupData->bTypicalNetworkSetup == TRUE) + if (pNetworkSetupData && (pNetworkSetupData->bTypicalNetworkSetup == TRUE)) { SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, IDD_NETWORKSETTINGSPAGE); return TRUE;