Rob Shearman : oleaut32: Always register the typelib for the tmarshal
tests .
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Feb 8 06:20:39 CST 2007
Module: wine
Branch: master
Commit: d2a38cef9981eef210b31abfea341804c60494d9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d2a38cef9981eef210b31abfea341804c60494d9
Author: Rob Shearman <rob at codeweavers.com>
Date: Wed Feb 7 22:09:43 2007 +0000
oleaut32: Always register the typelib for the tmarshal tests.
---
dlls/oleaut32/tests/tmarshal.c | 39 +++++++++++++--------------------------
1 files changed, 13 insertions(+), 26 deletions(-)
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index 99bbf00..9308408 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -520,16 +520,20 @@ typedef struct KindaEnum
LONG refs;
} KindaEnum;
-static HRESULT register_current_module_typelib(ITypeLib **typelib)
+static HRESULT register_current_module_typelib(void)
{
WCHAR path[MAX_PATH];
HRESULT hr;
+ ITypeLib *typelib;
GetModuleFileNameW(NULL, path, MAX_PATH);
- hr = LoadTypeLib(path, typelib);
+ hr = LoadTypeLib(path, &typelib);
if (SUCCEEDED(hr))
- hr = RegisterTypeLib(*typelib, path, NULL);
+ {
+ hr = RegisterTypeLib(typelib, path, NULL);
+ ITypeLib_Release(typelib);
+ }
return hr;
}
@@ -544,11 +548,6 @@ static IWidget *Widget_Create(void)
hr = LoadRegTypeLib(&LIBID_TestTypelib, 1, 0, LOCALE_NEUTRAL, &pTypeLib);
ok_ole_success(hr, LoadRegTypeLib);
- if (hr == TYPE_E_LIBNOTREGISTERED)
- {
- hr = register_current_module_typelib(&pTypeLib);
- ok_ole_success(hr, register_current_module_typelib);
- }
if (SUCCEEDED(hr))
{
ITypeInfo *pTypeInfo;
@@ -658,19 +657,6 @@ static const IKindaEnumWidgetVtbl KindaE
static IKindaEnumWidget *KindaEnumWidget_Create(void)
{
KindaEnum *This;
- HRESULT hr;
- ITypeLib *pTypeLib;
-
- hr = LoadRegTypeLib(&LIBID_TestTypelib, 1, 0, LOCALE_NEUTRAL, &pTypeLib);
- if (hr == TYPE_E_LIBNOTREGISTERED)
- {
- hr = register_current_module_typelib(&pTypeLib);
- ok_ole_success(hr, register_current_module_typelib);
- }
- else
- ok_ole_success(hr, LoadRegTypeLib);
- if (SUCCEEDED(hr))
- ITypeLib_Release(pTypeLib);
This = (KindaEnum *)HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
if (!This) return NULL;
@@ -720,11 +706,7 @@ static ITypeInfo *NonOleAutomation_GetTy
{
ITypeLib *pTypeLib;
HRESULT hr = LoadRegTypeLib(&LIBID_TestTypelib, 1, 0, LOCALE_NEUTRAL, &pTypeLib);
- if (hr == TYPE_E_LIBNOTREGISTERED)
- {
- hr = register_current_module_typelib(&pTypeLib);
- ok_ole_success(hr, register_current_module_typelib);
- }
+ ok_ole_success(hr, LoadRegTypeLib);
if (SUCCEEDED(hr))
{
ITypeInfo *pTypeInfo;
@@ -1106,8 +1088,13 @@ static void test_DispCallFunc(void)
START_TEST(tmarshal)
{
+ HRESULT hr;
+
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
+ hr = register_current_module_typelib();
+ ok_ole_success(hr, register_current_module_typelib);
+
test_typelibmarshal();
test_DispCallFunc();
More information about the wine-cvs
mailing list