[ros-diffs] [janderwald] 28437: - implement reading startup / recovery options

janderwald at svn.reactos.org janderwald at svn.reactos.org
Mon Aug 20 23:41:06 CEST 2007


Author: janderwald
Date: Tue Aug 21 01:41:05 2007
New Revision: 28437

URL: http://svn.reactos.org/svn/reactos?rev=28437&view=rev
Log:
- implement reading startup / recovery options

Modified:
    trunk/reactos/dll/cpl/sysdm/lang/cs-CZ.rc
    trunk/reactos/dll/cpl/sysdm/lang/da-DK.rc
    trunk/reactos/dll/cpl/sysdm/lang/de-DE.rc
    trunk/reactos/dll/cpl/sysdm/lang/en-US.rc
    trunk/reactos/dll/cpl/sysdm/lang/es-ES.rc
    trunk/reactos/dll/cpl/sysdm/lang/fr-FR.rc
    trunk/reactos/dll/cpl/sysdm/lang/hu-HU.rc
    trunk/reactos/dll/cpl/sysdm/lang/id-ID.rc
    trunk/reactos/dll/cpl/sysdm/lang/it-IT.rc
    trunk/reactos/dll/cpl/sysdm/lang/ja-JP.rc
    trunk/reactos/dll/cpl/sysdm/lang/nl-NL.rc
    trunk/reactos/dll/cpl/sysdm/lang/pl-PL.rc
    trunk/reactos/dll/cpl/sysdm/lang/ru-RU.rc
    trunk/reactos/dll/cpl/sysdm/lang/sv-SE.rc
    trunk/reactos/dll/cpl/sysdm/lang/uk-UA.rc
    trunk/reactos/dll/cpl/sysdm/resource.h
    trunk/reactos/dll/cpl/sysdm/startrec.c

Modified: trunk/reactos/dll/cpl/sysdm/lang/cs-CZ.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/cs-CZ.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/cs-CZ.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/cs-CZ.rc Tue Aug 21 01:41:05 2007
@@ -121,4 +121,8 @@
   IDS_CPLSYSTEMDESCRIPTION "Zobrazuje informace o Vašem poèítaèi, mìní rùzné systémové promìnné a hardwarové vlastnosti."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/da-DK.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/da-DK.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/da-DK.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/da-DK.rc Tue Aug 21 01:41:05 2007
@@ -119,4 +119,8 @@
   IDS_CPLSYSTEMDESCRIPTION "Se mere information omkring din computer, og skift diverse system og hardware indstillinger."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/de-DE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/de-DE.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/de-DE.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/de-DE.rc Tue Aug 21 01:41:05 2007
@@ -273,4 +273,8 @@
     IDS_PETABYTE "PB RAM"
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
-END
+    IDS_NO_DUMP "(Keine)"
+    IDS_MINI_DUMP "Kleines Speicherabild(64KB)"
+    IDS_KERNEL_DUMP "Kernelspeicherabild"
+    IDS_FULL_DUMP "Vollständiges Speicherabild"
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/en-US.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/en-US.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/en-US.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/en-US.rc Tue Aug 21 01:41:05 2007
@@ -265,4 +265,8 @@
     IDS_PETABYTE "PB of RAM"
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/es-ES.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/es-ES.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/es-ES.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/es-ES.rc Tue Aug 21 01:41:05 2007
@@ -125,4 +125,8 @@
   IDS_CPLSYSTEMDESCRIPTION "Ver información de su Computadora y cambiar varias opciones del systema."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/fr-FR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/fr-FR.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/fr-FR.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/fr-FR.rc Tue Aug 21 01:41:05 2007
@@ -268,4 +268,8 @@
     IDS_PETABYTE "PB de RAM"
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Valeur"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/hu-HU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/hu-HU.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/hu-HU.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/hu-HU.rc Tue Aug 21 01:41:05 2007
@@ -122,4 +122,8 @@
   IDS_CPLSYSTEMDESCRIPTION "A számítógéppel kapcsolatos információk megjelenítése, különbözõ rendszer és hardver beállítások módosítása."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/id-ID.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/id-ID.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/id-ID.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/id-ID.rc Tue Aug 21 01:41:05 2007
@@ -264,4 +264,9 @@
     IDS_PETABYTE "PB RAM"
     IDS_VARIABLE "Variabel"
     IDS_VALUE    "Nilai"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/it-IT.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/it-IT.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/it-IT.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/it-IT.rc Tue Aug 21 01:41:05 2007
@@ -265,4 +265,9 @@
     IDS_PETABYTE "PB di RAM"
     IDS_VARIABLE "Variabile"
     IDS_VALUE    "Valore"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/ja-JP.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/ja-JP.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/ja-JP.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/ja-JP.rc Tue Aug 21 01:41:05 2007
@@ -121,4 +121,9 @@
   IDS_CPLSYSTEMDESCRIPTION "ƒVƒXƒeƒ€‚ÌŠî–{î•ñ‚ð•\\Ž¦‚µAƒVƒXƒeƒ€‚âƒn[ƒhƒEƒFƒA‚Ì—lX‚Ȑݒè‚ð•ÏX‚µ‚Ü‚·B"
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/nl-NL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/nl-NL.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/nl-NL.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/nl-NL.rc Tue Aug 21 01:41:05 2007
@@ -121,4 +121,9 @@
   IDS_CPLSYSTEMDESCRIPTION "Systeeminformatie weergeven en omgevingsinstellingen wijzigen."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/pl-PL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/pl-PL.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/pl-PL.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/pl-PL.rc Tue Aug 21 01:41:05 2007
@@ -270,4 +270,9 @@
     IDS_PETABYTE "PB RAM"
     IDS_VARIABLE "Zmienna"
     IDS_VALUE    "WartoϾ"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/ru-RU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/ru-RU.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/ru-RU.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/ru-RU.rc Tue Aug 21 01:41:05 2007
@@ -265,4 +265,9 @@
     IDS_PETABYTE "Ïá ÎÇÓ"
     IDS_VARIABLE "Ïåðåìåííàÿ"
     IDS_VALUE    "Çíà÷åíèå"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
+END

Modified: trunk/reactos/dll/cpl/sysdm/lang/sv-SE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/sv-SE.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/sv-SE.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/sv-SE.rc Tue Aug 21 01:41:05 2007
@@ -123,4 +123,9 @@
   IDS_CPLSYSTEMDESCRIPTION "Se information om din dator och ändra olika system- och hårdvaruinställningar."
     IDS_VARIABLE "Variable"
     IDS_VALUE    "Value"
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
 END

Modified: trunk/reactos/dll/cpl/sysdm/lang/uk-UA.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/lang/uk-UA.rc?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/lang/uk-UA.rc (original)
+++ trunk/reactos/dll/cpl/sysdm/lang/uk-UA.rc Tue Aug 21 01:41:05 2007
@@ -273,4 +273,9 @@
     IDS_PETABYTE "PB of RAM"
     IDS_VARIABLE "Çì³ííà"
     IDS_VALUE    "Çíà÷åííÿ"
-END
+    IDS_NO_DUMP "(None)"
+    IDS_MINI_DUMP "Minidump(64KB)"
+    IDS_KERNEL_DUMP "Kernel dump"
+    IDS_FULL_DUMP "Complete dump"
+
+END

Modified: trunk/reactos/dll/cpl/sysdm/resource.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/resource.h?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/resource.h (original)
+++ trunk/reactos/dll/cpl/sysdm/resource.h Tue Aug 21 01:41:05 2007
@@ -20,6 +20,11 @@
 
 #define IDS_VARIABLE                    66
 #define IDS_VALUE                       67
+#define IDS_NO_DUMP                     68
+#define IDS_MINI_DUMP                   69
+#define IDS_KERNEL_DUMP                 70
+#define IDS_FULL_DUMP                   71
+
 
 /* propsheet - general */
 #define IDD_PROPPAGEGENERAL             100

Modified: trunk/reactos/dll/cpl/sysdm/startrec.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/startrec.c?rev=28437&r1=28436&r2=28437&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/sysdm/startrec.c (original)
+++ trunk/reactos/dll/cpl/sysdm/startrec.c Tue Aug 21 01:41:05 2007
@@ -6,13 +6,15 @@
  * PURPOSE:     Computer settings for startup and recovery
  * COPYRIGHT:   Copyright 2006 Ged Murphy <gedmurphy at gmail.com>
  *              Copyright 2006 Christoph von Wittich <Christoph at ApiViewer.de>
- *
+ *              Copyright 2007 Johannes Anderwald <johannes dot anderwald at student dot tugraz dot at>
  */
 
 #include "precomp.h"
 static TCHAR m_szFreeldrIni[MAX_PATH + 15];
 static int m_FreeLdrIni = 0;
-
+static TCHAR m_szDumpFile[MAX_PATH];
+static TCHAR m_szMinidumpDir[MAX_PATH];
+static DWORD m_dwCrashDumpEnabled = 0;
 void SetTimeout(HWND hwndDlg, int Timeout)
 {
     if (Timeout == 0)
@@ -399,9 +401,7 @@
     DWORD dwBufSize;
     TCHAR *szSystemDrive;
     HINF hInf;
-
-    SetDlgItemText(hwndDlg, IDC_STRRECDUMPFILE, _T("%SystemRoot%\\MiniDump"));
-        
+       
     dwBufSize = GetSystemDrive(&szSystemDrive);
     if (!dwBufSize)
         return FALSE;
@@ -449,6 +449,134 @@
     }
     return FALSE;
 }
+
+void SetCrashDlgItems(HWND hwnd)
+{
+    if (m_dwCrashDumpEnabled == 0)
+    {
+        /* no crash information required */
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), FALSE);
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECOVERWRITE), FALSE);
+    }
+    else if (m_dwCrashDumpEnabled == 3)
+    {
+        /* minidump type */
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), TRUE);
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECOVERWRITE), FALSE);
+        SendMessage(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)m_szMinidumpDir);
+    }
+    else if (m_dwCrashDumpEnabled == 1 || m_dwCrashDumpEnabled == 2)
+    {
+        /* kernel or complete dump */
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), TRUE);
+        EnableWindow(GetDlgItem(hwnd, IDC_STRRECOVERWRITE), TRUE);
+        SendMessage(GetDlgItem(hwnd, IDC_STRRECDUMPFILE), WM_SETTEXT, (WPARAM)0, (LPARAM)m_szDumpFile);
+    }
+    SendDlgItemMessage(hwnd, IDC_STRRECDEBUGCOMBO, CB_SETCURSEL, (WPARAM)m_dwCrashDumpEnabled, (LPARAM)0);
+}
+
+void LoadRecoveryOptions(HWND hwndDlg)
+{
+    HKEY hKey;
+    DWORD dwValues;
+    TCHAR szName[MAX_PATH];
+    TCHAR szValue[MAX_PATH];
+    DWORD i, dwName, dwValue, dwValueLength, dwType;
+
+    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+                     _T("System\\CurrentControlSet\\Control\\CrashControl"),
+                     0,
+                     KEY_READ,
+                     &hKey) != ERROR_SUCCESS)
+    {
+        /* failed to open key */
+        return;
+    }
+
+    if (RegQueryInfoKey(hKey,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        &dwValues,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL) != ERROR_SUCCESS)
+    {
+        RegCloseKey(hKey);
+        return;
+    }
+
+    for (i = 0; i < dwValues; i++)
+    {
+        dwName = sizeof(szName) / sizeof(TCHAR);
+
+        RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, NULL, NULL);
+        if (dwType == REG_DWORD)
+        {
+            dwValueLength = sizeof(dwValue);
+            dwName = sizeof(szName) / sizeof(TCHAR);
+            if (RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, (LPBYTE)&dwValue, &dwValueLength) != ERROR_SUCCESS)
+                continue;
+        }
+        else
+        {
+            dwValueLength = sizeof(szValue);
+            dwName = sizeof(szName) / sizeof(TCHAR);
+            if (RegEnumValue(hKey, i, szName, &dwName, NULL, &dwType, (LPBYTE)&szValue, &dwValueLength) != ERROR_SUCCESS)
+                continue;
+        }
+
+        if (!_tcscmp(szName, _T("LogEvent")))
+        {
+            if (dwValue)
+                SendDlgItemMessage(hwndDlg, IDC_STRRECWRITEEVENT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+        }
+        else if (!_tcscmp(szName, _T("SendAlert")))
+        {
+            if (dwValue)
+                SendDlgItemMessage(hwndDlg, IDC_STRRECSENDALERT, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+        }
+        else if (!_tcscmp(szName, _T("AutoReboot")))
+        {
+            if (dwValue)
+                SendDlgItemMessage(hwndDlg, IDC_STRRECRESTART, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+        }
+        else if (!_tcscmp(szName, _T("Overwrite")))
+        {
+            if (dwValue)
+                SendDlgItemMessage(hwndDlg, IDC_STRRECOVERWRITE, BM_SETCHECK, (WPARAM)BST_CHECKED, (LPARAM)0);
+        }
+        else if (!_tcscmp(szName, _T("DumpFile")))
+        {
+            _tcscpy(m_szDumpFile, szValue);
+        }
+        else if (!_tcscmp(szName, _T("MinidumpDir")))
+        {
+            _tcscpy(m_szMinidumpDir, szValue);
+        }
+        else if (!_tcscmp(szName, _T("CrashDumpEnabled")))
+        {
+            m_dwCrashDumpEnabled = dwValue;
+        }
+    }
+
+    if (LoadString(hApplet, IDS_NO_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
+        SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
+    if (LoadString(hApplet, IDS_FULL_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
+        SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
+    if (LoadString(hApplet, IDS_KERNEL_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
+        SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
+    if (LoadString(hApplet, IDS_MINI_DUMP, szValue, sizeof(szValue) / sizeof(TCHAR)) < sizeof(szValue) / sizeof(TCHAR))
+        SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_ADDSTRING, (WPARAM)0, (LPARAM) szValue);
+
+    SetCrashDlgItems(hwndDlg);
+    RegCloseKey(hKey);
+}
+
 
 
 /* Property page dialog callback */
@@ -469,6 +597,7 @@
     {
         case WM_INITDIALOG:
         {
+            LoadRecoveryOptions(hwndDlg);
             return LoadOSList(hwndDlg);
         }
         break;
@@ -558,6 +687,30 @@
                     else
                         SetTimeout(hwndDlg, 0);
                 }
+                case IDC_STRRECDEBUGCOMBO:
+                {
+                    if (HIWORD(wParam) == CBN_SELCHANGE)
+                    {
+                        LRESULT lResult;
+
+                        lResult = SendDlgItemMessage(hwndDlg, IDC_STRRECDEBUGCOMBO, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
+                        if (lResult != CB_ERR && lResult != m_dwCrashDumpEnabled)
+                        {
+                            if (m_dwCrashDumpEnabled == 1 || m_dwCrashDumpEnabled == 2)
+                            {
+                                SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(m_szDumpFile) / sizeof(TCHAR), (LPARAM)m_szDumpFile);
+                            }
+                            else if (m_dwCrashDumpEnabled == 3)
+                            {
+                                SendDlgItemMessage(hwndDlg, IDC_STRRECDUMPFILE, WM_GETTEXT, (WPARAM)sizeof(m_szMinidumpDir) / sizeof(TCHAR), (LPARAM)m_szMinidumpDir);
+                            }
+                            m_dwCrashDumpEnabled = lResult;
+                            SetCrashDlgItems(hwndDlg);
+                        }
+                    }
+                    break;
+                }
+
             }
         }
         break;




More information about the Ros-diffs mailing list