[OLE #93] Disconnect IRemUnknown proxy after the others (resend)
Mike Hearn
mh at codeweavers.com
Sun Jun 5 12:17:16 CDT 2005
On Sun, 05 Jun 2005 11:32:14 -0500, Robert Shearman wrote:
> The IRemUnknown proxy shouldn't be disconnected at all. Can you try this
> patch for me?
Yes, that works too. This patch is simpler and equivalent though?
ChangeLog:
Rob Shearman <rob at codeweavers.com>
Don't disconnect proxies flagged with SORFP_NOLIFETIMEMGMT. It makes no
sense and only causes trouble for proxies that depend on these proxies
being available.
Index: dlls/ole32/marshal.c
===================================================================
RCS file: /home/wine/wine/dlls/ole32/marshal.c,v
retrieving revision 1.75
diff -u -p -d -r1.75 marshal.c
--- dlls/ole32/marshal.c 23 May 2005 10:27:23 -0000 1.75
+++ dlls/ole32/marshal.c 5 Jun 2005 17:14:48 -0000
@@ -601,6 +601,12 @@ static void proxy_manager_disconnect(str
TRACE("oxid = %s, oid = %s\n", wine_dbgstr_longlong(This->oxid),
wine_dbgstr_longlong(This->oid));
+ /* SORFP_NOLIFTIMEMGMT proxies (for IRemUnknown) shouldn't be
+ * disconnected - it won't do anything anyway, except cause
+ * problems for other objects that depend on this proxy always
+ * working */
+ if (This->sorflags & SORFP_NOLIFETIMEMGMT) return;
+
EnterCriticalSection(&This->cs);
LIST_FOR_EACH(cursor, &This->interfaces)
More information about the wine-patches
mailing list