Author: cwittich
Date: Fri Feb 13 12:34:10 2009
New Revision: 39593
URL:
http://svn.reactos.org/svn/reactos?rev=39593&view=rev
Log:
apply ros-hack
Modified:
trunk/reactos/dll/win32/mshtml/install.c
Modified: trunk/reactos/dll/win32/mshtml/install.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/mshtml/install.c…
==============================================================================
--- trunk/reactos/dll/win32/mshtml/install.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mshtml/install.c [iso-8859-1] Fri Feb 13 12:34:10 2009
@@ -54,6 +54,11 @@
'\\','W','i','n','e',
'\\','M','S','H','T','M','L',0};
+static const CHAR mshtml_keyA[] =
+
{'S','o','f','t','w','a','r','e',
+ '\\','W','i','n','e',
+
'\\','M','S','H','T','M','L',0};
+
static HWND install_dialog = NULL;
static LPWSTR tmp_file_name = NULL;
static HANDLE tmp_file = INVALID_HANDLE_VALUE;
@@ -219,23 +224,18 @@
static BOOL install_from_registered_dir(void)
{
char *file_name;
- HKEY hkey;
DWORD res, type, size = MAX_PATH;
BOOL ret;
+ file_name = heap_alloc(size+sizeof(GECKO_FILE_NAME));
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML */
- res = RegOpenKeyW(HKEY_CURRENT_USER, mshtml_keyW, &hkey);
- if(res != ERROR_SUCCESS)
- return FALSE;
-
- file_name = heap_alloc(size+sizeof(GECKO_FILE_NAME));
- res = RegQueryValueExA(hkey, "GeckoCabDir", NULL, &type,
(PBYTE)file_name, &size);
+ res = RegGetValueA(HKEY_CURRENT_USER, mshtml_keyA, "GeckoCabDir",
RRF_RT_ANY, &type, (PBYTE)file_name, &size);
if(res == ERROR_MORE_DATA) {
file_name = heap_realloc(file_name, size+sizeof(GECKO_FILE_NAME));
- res = RegQueryValueExA(hkey, "GeckoCabDir", NULL, &type,
(PBYTE)file_name, &size);
- }
- RegCloseKey(hkey);
- if(res != ERROR_SUCCESS || type != REG_SZ) {
+ res = RegGetValueA(HKEY_CURRENT_USER, mshtml_keyA, "GeckoCabDir",
RRF_RT_ANY, &type, (PBYTE)file_name, &size);
+ }
+
+ if(res != ERROR_SUCCESS || (type != REG_SZ && type != REG_EXPAND_SZ)) {
heap_free(file_name);
return FALSE;
}