[IEXPLORE] Sync with Wine Staging 2.9. CORE-13362
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 3 Jun 2017 17:28:59 +0000 (17:28 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 3 Jun 2017 17:28:59 +0000 (17:28 +0000)
79d01be iexplore: Follow translation version info to detect native IE.

svn path=/trunk/; revision=74773

reactos/base/applications/iexplore/CMakeLists.txt
reactos/base/applications/iexplore/main.c
reactos/media/doc/README.WINE

index b92d69e..b25b1d9 100644 (file)
@@ -3,6 +3,6 @@ add_rc_deps(iexplore.rc ${CMAKE_CURRENT_SOURCE_DIR}/iexplore.ico)
 add_executable(iexplore main.c iexplore.rc)
 target_link_libraries(iexplore wine)
 set_module_type(iexplore win32gui UNICODE)
-add_delay_importlibs(iexplore advpack version)
+add_delay_importlibs(iexplore advpack version user32)
 add_importlibs(iexplore ieframe msvcrt kernel32 ntdll)
 add_cd_file(TARGET iexplore DESTINATION reactos FOR all)
index 4de53e8..4b76ce3 100644 (file)
@@ -47,18 +47,19 @@ static BOOL check_native_ie(void)
     LPWSTR file_desc;
     UINT bytes;
     void* buf;
-    BOOL ret;
+    BOOL ret = TRUE;
+    LPWORD translation;
 
     static const WCHAR browseui_dllW[] = {'b','r','o','w','s','e','u','i','.','d','l','l',0};
     static const WCHAR wineW[] = {'W','i','n','e',0};
-    static const WCHAR file_desc_strW[] =
+    static const WCHAR translationW[] =
+        {'\\','V','a','r','F','i','l','e','I','n','f','o',
+         '\\','T','r','a','n','s','l','a','t','i','o','n',0};
+    static const WCHAR file_desc_fmtW[] =
         {'\\','S','t','r','i','n','g','F','i','l','e','I','n','f','o',
-#ifndef __REACTOS__
-         '\\','0','4','0','9','0','4','e','4',
-#else
-         '\\','0','4','0','9','0','4','b','0',
-#endif
+         '\\','%','0','4','x','%','0','4','x',
          '\\','F','i','l','e','D','e','s','c','r','i','p','t','i','o','n',0};
+    WCHAR file_desc_strW[48];
 
     size = GetFileVersionInfoSizeW(browseui_dllW, &handle);
     if(!size)
@@ -66,8 +67,11 @@ static BOOL check_native_ie(void)
 
     buf = HeapAlloc(GetProcessHeap(), 0, size);
     GetFileVersionInfoW(browseui_dllW, 0, size,buf);
-
-    ret = !VerQueryValueW(buf, file_desc_strW, (void**)&file_desc, &bytes) || !strstrW(file_desc, wineW);
+    if (VerQueryValueW(buf, translationW, (void **)&translation, &bytes))
+    {
+        wsprintfW(file_desc_strW, file_desc_fmtW, translation[0], translation[1]);
+        ret = !VerQueryValueW(buf, file_desc_strW, (void**)&file_desc, &bytes) || !strstrW(file_desc, wineW);
+    }
 
     HeapFree(GetProcessHeap(), 0, buf);
     return ret;
index 2a57ae8..98b444c 100644 (file)
@@ -235,7 +235,7 @@ reactos/base/applications/cmdutils/wscript  # Synced to WineStaging-1.9.16
 reactos/base/applications/cmdutils/xcopy    # Synced to WineStaging-2.9
 reactos/base/applications/games/winmine     # Synced to WineStaging-1.9.16 with our own resources.
 reactos/base/applications/extrac32          # Synced to WineStaging-1.9.11
-reactos/base/applications/iexplore          # Synced to WineStaging-1.9.11
+reactos/base/applications/iexplore          # Synced to WineStaging-2.9
 reactos/base/applications/notepad           # Forked at Wine-20041201
 reactos/base/applications/regedit           # Out of sync
 reactos/base/applications/winhlp32          # Synced to WineStaging-1.9.16