fixed some bugs
use PCH when building with MSVC
Modified: trunk/reactos/subsys/system/msconfig/msconfig.xml
Modified: trunk/reactos/subsys/system/msconfig/srvpage.c
Modified: trunk/reactos/subsys/system/msconfig/startuppage.c
Modified: trunk/reactos/subsys/system/msconfig/toolspage.c
_____
Modified: trunk/reactos/subsys/system/msconfig/msconfig.xml
--- trunk/reactos/subsys/system/msconfig/msconfig.xml 2006-01-08
18:55:24 UTC (rev 20718)
+++ trunk/reactos/subsys/system/msconfig/msconfig.xml 2006-01-08
19:07:16 UTC (rev 20719)
@@ -22,4 +22,5 @@
<file>msconfig.c</file>
</compilationunit>
<file>msconfig.rc</file>
+ <pch>precomp.h</pch>
</module>
_____
Modified: trunk/reactos/subsys/system/msconfig/srvpage.c
--- trunk/reactos/subsys/system/msconfig/srvpage.c 2006-01-08
18:55:24 UTC (rev 20718)
+++ trunk/reactos/subsys/system/msconfig/srvpage.c 2006-01-08
19:07:16 UTC (rev 20719)
@@ -19,7 +19,7 @@
hServicesListCtrl = GetDlgItem(hDlg, IDC_SERVICES_LIST);
hServicesDialog = hDlg;
- dwStyle = SendMessage(hServicesListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
+ dwStyle = (DWORD) SendMessage(hServicesListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
dwStyle = dwStyle | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES;
SendMessage(hServicesListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
dwStyle);
@@ -93,7 +93,7 @@
{
/* reserve memory for service info array */
pServiceStatus = (ENUM_SERVICE_STATUS_PROCESS *)
HeapAlloc(GetProcessHeap(), 0, BytesNeeded);
- if (pServiceStatus == NULL)
+ if (!pServiceStatus)
return;
/* fill array with service info */
@@ -111,6 +111,8 @@
if (NumServices)
{
+ if (!pServiceStatus)
+ return;
for (Index = 0; Index < NumServices; Index++)
{
memset(&item, 0, sizeof(LV_ITEM));
_____
Modified: trunk/reactos/subsys/system/msconfig/startuppage.c
--- trunk/reactos/subsys/system/msconfig/startuppage.c 2006-01-08
18:55:24 UTC (rev 20718)
+++ trunk/reactos/subsys/system/msconfig/startuppage.c 2006-01-08
19:07:16 UTC (rev 20719)
@@ -19,7 +19,7 @@
hStartupListCtrl = GetDlgItem(hDlg, IDC_STARTUP_LIST);
hStartupDialog = hDlg;
- dwStyle = SendMessage(hStartupListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
+ dwStyle = (DWORD) SendMessage(hStartupListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
dwStyle = dwStyle | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES;
SendMessage(hStartupListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
dwStyle);
@@ -62,7 +62,7 @@
HKEY hKey;
DWORD Index, dwValues, retVal, dwType;
DWORD dwValueLength, dwDataLength = MAX_VALUE_NAME;
- TCHAR Data[MAX_VALUE_NAME];
+ TCHAR* Data;
TCHAR lpValueName[MAX_KEY_LENGTH];
TCHAR Path[MAX_KEY_LENGTH + 5];
LV_ITEM item;
@@ -73,8 +73,11 @@
{
for (Index = 0, retVal = ERROR_SUCCESS; Index < dwValues;
Index++)
{
- dwValueLength = MAX_VALUE_NAME;
+ dwValueLength = MAX_KEY_LENGTH;
dwDataLength = MAX_VALUE_NAME;
+ Data = (TCHAR*) HeapAlloc(GetProcessHeap(), 0,
MAX_VALUE_NAME);
+ if (Data == NULL)
+ break;
retVal = RegEnumValue(hKey, Index, lpValueName,
&dwValueLength, NULL, &dwType, (LPBYTE)Data, &dwDataLength);
if (retVal == ERROR_SUCCESS)
{
@@ -88,21 +91,29 @@
if (dwType == REG_SZ)
{
- GetLongPathName(Data, Data, sizeof(Data));
+ GetLongPathName(Data, Data, (DWORD)
_tcsclen(Data));
item.pszText = Data;
item.iSubItem = 1;
SendMessage(hStartupListCtrl, LVM_SETITEMTEXT,
item.iItem, (LPARAM) &item);
}
- if (hRootKey == HKEY_LOCAL_MACHINE)
- _tcscpy(Path, _T("HKLM\\"));
- if (hRootKey == HKEY_CURRENT_USER)
- _tcscpy(Path, _T("HKCU\\"));
+ switch (PtrToLong(hRootKey))
+ {
+ case HKEY_LOCAL_MACHINE:
+ _tcscpy(Path, _T("HKLM\\\0"));
+ break;
+ case HKEY_CURRENT_USER:
+ _tcscpy(Path, _T("HKCU\\\0"));
+ break;
+ default:
+ _tcscpy(Path, _T("\0"));
+ }
_tcscat(Path, KeyName);
item.pszText = Path;
item.iSubItem = 2;
SendMessage(hStartupListCtrl, LVM_SETITEMTEXT,
item.iItem, (LPARAM) &item);
+ HeapFree(GetProcessHeap(), 0, Data);
}
}
}
_____
Modified: trunk/reactos/subsys/system/msconfig/toolspage.c
--- trunk/reactos/subsys/system/msconfig/toolspage.c 2006-01-08
18:55:24 UTC (rev 20718)
+++ trunk/reactos/subsys/system/msconfig/toolspage.c 2006-01-08
19:07:16 UTC (rev 20719)
@@ -55,7 +55,7 @@
hToolsListCtrl = GetDlgItem(hDlg, IDC_TOOLS_LIST);
hToolsDialog = hDlg;
- dwStyle = SendMessage(hToolsListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
+ dwStyle = (DWORD) SendMessage(hToolsListCtrl,
LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
dwStyle = dwStyle | LVS_EX_FULLROWSELECT;
SendMessage(hToolsListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
dwStyle);