DCOM: Fix Ref Counting in StdMarshalImpl_MarshalInterface

Robert Shearman rob at codeweavers.com
Wed Jul 28 13:29:06 CDT 2004


Changelog:

Mike Hearn <mh at codeweavers.com>
Fix ref counting in StdMarshalImpl_MarshalInterface for case where the 
stub already exists.

-------------- next part --------------
Index: wine/dlls/ole32/marshal.c
===================================================================
RCS file: /home/wine/wine/dlls/ole32/marshal.c,v
retrieving revision 1.23
diff -u -r1.23 marshal.c
--- wine/dlls/ole32/marshal.c	23 Jul 2004 19:10:13 -0000	1.23
+++ wine/dlls/ole32/marshal.c	28 Jul 2004 13:20:48 -0000
@@ -292,8 +292,9 @@
   hres = IStream_Write(pStm,&md,sizeof(md),&res);
   if (hres) return hres;
 
-  if (SUCCEEDED(MARSHAL_Find_Stub(&mid,&pUnk))) {
-      IUnknown_Release(pUnk);
+  if (SUCCEEDED(MARSHAL_Find_Stub_Buffer(&mid,&stub))) {
+      /* Find_Stub_Buffer gives us a ref but we want to keep it, as if we'd created a new one */
+      TRACE("Found RpcStubBuffer %p\n", stub);
       return S_OK;
   }
   hres = get_facbuf_for_iid(riid,&psfacbuf);


More information about the wine-patches mailing list