[ros-diffs] [cwittich] 47415: [MSHTML] restore local mshtml changes lost by last wine sync

cwittich at svn.reactos.org cwittich at svn.reactos.org
Sat May 29 16:44:14 CEST 2010


Author: cwittich
Date: Sat May 29 16:44:13 2010
New Revision: 47415

URL: http://svn.reactos.org/svn/reactos?rev=47415&view=rev
Log:
[MSHTML]
restore local mshtml changes lost by last wine sync

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?rev=47415&r1=47414&r2=47415&view=diff
==============================================================================
--- trunk/reactos/dll/win32/mshtml/install.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/mshtml/install.c [iso-8859-1] Sat May 29 16:44:13 2010
@@ -60,6 +60,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;
@@ -225,23 +230,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;
     }




More information about the Ros-diffs mailing list