[PATCH] oleaut32/tests: Only use WOW64 registry flags on platforms that support them

Andrew Eikum aeikum at codeweavers.com
Wed Jan 29 10:52:24 CST 2014


---
This should fix the failing NT4 tests.

 dlls/oleaut32/tests/typelib.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
index ee06182..515e186 100644
--- a/dlls/oleaut32/tests/typelib.c
+++ b/dlls/oleaut32/tests/typelib.c
@@ -73,6 +73,7 @@ static BOOL   (WINAPI *pActivateActCtx)(HANDLE,ULONG_PTR*);
 static HANDLE (WINAPI *pCreateActCtxW)(PCACTCTXW);
 static BOOL   (WINAPI *pDeactivateActCtx)(DWORD,ULONG_PTR);
 static VOID   (WINAPI *pReleaseActCtx)(HANDLE);
+static BOOL   (WINAPI *pIsWow64Process)(HANDLE,PBOOL);
 
 static const WCHAR wszStdOle2[] = {'s','t','d','o','l','e','2','.','t','l','b',0};
 static WCHAR wszGUID[] = {'G','U','I','D',0};
@@ -159,6 +160,7 @@ static void init_function_pointers(void)
     pCreateActCtxW = (void *)GetProcAddress(hk32, "CreateActCtxW");
     pDeactivateActCtx = (void *)GetProcAddress(hk32, "DeactivateActCtx");
     pReleaseActCtx = (void *)GetProcAddress(hk32, "ReleaseActCtx");
+    pIsWow64Process = (void *)GetProcAddress(hk32, "IsWow64Process");
 }
 
 static void ref_count_test(LPCWSTR type_lib)
@@ -4246,10 +4248,12 @@ static void test_register_typelib(BOOL system_registration)
         ok(ret == expect_ret, "%d: got %d\n", i, ret);
         if(ret == ERROR_SUCCESS) RegCloseKey(hkey);
 
-        /* 32-bit typelibs should be registered into both registry bit modes */
-        ret = RegOpenKeyExA(HKEY_CLASSES_ROOT, key_name, 0, KEY_READ | opposite, &hkey);
-        ok(ret == expect_ret, "%d: got %d\n", i, ret);
-        if(ret == ERROR_SUCCESS) RegCloseKey(hkey);
+        if(pIsWow64Process){
+            /* 32-bit typelibs should be registered into both registry bit modes */
+            ret = RegOpenKeyExA(HKEY_CLASSES_ROOT, key_name, 0, KEY_READ | opposite, &hkey);
+            ok(ret == expect_ret, "%d: got %d\n", i, ret);
+            if(ret == ERROR_SUCCESS) RegCloseKey(hkey);
+        }
 
         ITypeInfo_ReleaseTypeAttr(typeinfo, attr);
         ITypeInfo_Release(typeinfo);
-- 
1.8.5.3




More information about the wine-patches mailing list