diff --git a/reactos/base/applications/screensavers/3dtext/settings.c b/reactos/base/applications/screensavers/3dtext/settings.c index c00ed5fe3f8..ac4d8cd2af7 100644 --- a/reactos/base/applications/screensavers/3dtext/settings.c +++ b/reactos/base/applications/screensavers/3dtext/settings.c @@ -29,14 +29,14 @@ TCHAR m_Text[MAX_PATH]; void LoadSettings() { HKEY hkey; - DWORD len = MAX_PATH; + DWORD len = MAX_PATH * sizeof(WCHAR); RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0, _T(""), 0, KEY_READ, NULL, &hkey, NULL); - if(RegQueryValueEx(hkey, _T("DisplayString"), 0, 0, (LPBYTE)m_Text, &len) != ERROR_SUCCESS) + if (RegQueryValueEx(hkey, _T("DisplayString"), NULL, NULL, (LPBYTE)m_Text, &len) != ERROR_SUCCESS) { - _tcscpy(m_Text , _TEXT("ReactOS Rocks!")); + _tcscpy(m_Text, _TEXT("ReactOS Rocks!")); } RegCloseKey(hkey); @@ -49,7 +49,7 @@ void SaveSettings() RegCreateKeyEx(HKEY_CURRENT_USER, _T("Software\\Microsoft\\ScreenSavers\\Text3D"), 0, _T(""), 0, KEY_WRITE, NULL, &hkey, NULL); - RegSetValueEx(hkey, _T("DisplayString"), 0, REG_SZ, (BYTE *)&m_Text, sizeof (m_Text)); + RegSetValueEx(hkey, _T("DisplayString"), 0, REG_SZ, (LPBYTE)m_Text, (_tcslen(m_Text) + 1) * sizeof(WCHAR)); RegCloseKey(hkey); }