Author: janderwald Date: Wed May 24 00:05:34 2006 New Revision: 21993
URL: http://svn.reactos.ru/svn/reactos?rev=21993&view=rev Log: prevent ncpa from crashing when no component is selected. patch & bug report by ThePhysicist (bug 1519)
Modified: branches/ros-branch-0_3_0/reactos/dll/cpl/ncpa/ncpa.c
Modified: branches/ros-branch-0_3_0/reactos/dll/cpl/ncpa/ncpa.c URL: http://svn.reactos.ru/svn/reactos/branches/ros-branch-0_3_0/reactos/dll/cpl/... ============================================================================== --- branches/ros-branch-0_3_0/reactos/dll/cpl/ncpa/ncpa.c (original) +++ branches/ros-branch-0_3_0/reactos/dll/cpl/ncpa/ncpa.c Wed May 24 00:05:34 2006 @@ -263,11 +263,11 @@ SetDlgItemText(hwndDlg,IDC_NETCARDNAME,tpszDisplayName); EnableWindow(GetDlgItem(hwndDlg,IDC_CONFIGURE),FALSE);
- SetWindowLongPtr(hwndDlg,GWL_USERDATA,(DWORD_PTR)lParam); //SetDlgItemTextA(hwndDlg,IDC_NETCARDNAME,Info[pPage->lParam].Description); EnumRegKeys(NICPropertyProtocolCallback,hwndDlg,HKEY_LOCAL_MACHINE,_T("System\CurrentControlSet\Control\Network\{4D36E975-E325-11CE-BFC1-08002BE10318}"));
+ SendDlgItemMessage(hwndDlg, IDC_COMPONENTSLIST, LB_SETCURSEL, 0, 0); } break; case WM_COMMAND: @@ -302,14 +302,16 @@ // drop though case IDC_PROPERTIES: { - TCHAR *tpszSubKey; + TCHAR *tpszSubKey = NULL; TCHAR tpszNDIKey[MAX_PATH]; TCHAR tpszClsIDText[MAX_PATH]; TCHAR *tpszTCPIPClsID = _T("{A907657F-6FDF-11D0-8EFB-00C04FD912B2}"); HKEY hNDIKey; DWORD dwType,dwSize; HWND hListBox = GetDlgItem(hwndDlg,IDC_COMPONENTSLIST); - tpszSubKey = (TCHAR*)SendMessage(hListBox,LB_GETITEMDATA,SendMessage(hListBox,LB_GETCURSEL,0,0),0); + int iListBoxIndex = SendMessage(hListBox,LB_GETCURSEL,0,0); + if(iListBoxIndex != LB_ERR) + tpszSubKey = (TCHAR*)SendMessage(hListBox,LB_GETITEMDATA,iListBoxIndex,0); if(!tpszSubKey) break; _stprintf(tpszNDIKey,_T("%s\Ndi"),tpszSubKey); @@ -598,9 +600,8 @@ EnableWindow(GetDlgItem(hwndDlg,IDC_ADD),FALSE); EnableWindow(GetDlgItem(hwndDlg,IDC_REMOVE),FALSE);
+ EnumAdapters(hwndDlg); SendDlgItemMessage(hwndDlg,IDC_NETCARDLIST,LB_SETCURSEL,0,0); - - EnumAdapters(hwndDlg); } break;