Module: wine Branch: refs/heads/master Commit: 0fd184773a90a44ae5fd8dd493646ac9d6796e0e URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=0fd184773a90a44ae5fd8dd4...
Author: Robert Shearman rob@codeweavers.com Date: Mon May 22 22:17:53 2006 +0100
ole32: Release the outer unknown in the proxybuffer test.
Release the outer unknown in the proxybuffer test to show that the last release of the outer unknown doesn't free the proxy buffer.
---
dlls/ole32/tests/marshal.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/dlls/ole32/tests/marshal.c b/dlls/ole32/tests/marshal.c index dffff9d..8ecbe42 100644 --- a/dlls/ole32/tests/marshal.c +++ b/dlls/ole32/tests/marshal.c @@ -1400,13 +1400,18 @@ static void test_proxybuffer(REFIID riid ok_ole_success(hr, IPSFactoryBuffer_CreateProxy); ok(lpvtbl != NULL, "IPSFactoryBuffer_CreateProxy succeeded, but returned a NULL vtable!\n");
+ /* release our reference to the outer unknown object - the PS factory + * buffer will have AddRef's it in the CreateProxy call */ + refs = IUnknown_Release((IUnknown *)pUnkOuter); + ok(refs == 1, "Ref count of outer unknown should have been 1 instead of %ld\n", refs); + refs = IPSFactoryBuffer_Release(psfb); #if 0 /* not reliable on native. maybe it leaks references! */ ok(refs == 0, "Ref-count leak of %ld on IPSFactoryBuffer\n", refs); #endif
refs = IUnknown_Release((IUnknown *)lpvtbl); - ok(refs == 1, "Ref-count leak of %ld on IRpcProxyBuffer\n", refs-1); + ok(refs == 0, "Ref-count leak of %ld on IRpcProxyBuffer\n", refs);
refs = IRpcProxyBuffer_Release(proxy); ok(refs == 0, "Ref-count leak of %ld on IRpcProxyBuffer\n", refs);