From e46047e4da2b733c39632801195c7cce6d6fdd5d Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Sun, 5 Jun 2005 19:19:24 +0000 Subject: [PATCH] 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. --- dlls/ole32/marshal.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/ole32/marshal.c b/dlls/ole32/marshal.c index 92ae1179522..6a1d907e24e 100644 --- a/dlls/ole32/marshal.c +++ b/dlls/ole32/marshal.c @@ -601,6 +601,12 @@ static void proxy_manager_disconnect(struct proxy_manager * This) 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) -- 2.11.4.GIT