From 99af2f56ba972f062acb389f802e417c8d310dbe Mon Sep 17 00:00:00 2001 From: Peter Schellenbach Date: Thu, 3 Mar 2011 17:03:40 -0800 Subject: [PATCH] oleaut32: Corrected registration flag inversion in RegisterActiveObject. --- dlls/oleaut32/oleaut.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/oleaut32/oleaut.c b/dlls/oleaut32/oleaut.c index ac2d6665e1f..f93339a2c8d 100644 --- a/dlls/oleaut32/oleaut.c +++ b/dlls/oleaut32/oleaut.c @@ -471,6 +471,7 @@ HRESULT WINAPI RegisterActiveObject( HRESULT ret; LPRUNNINGOBJECTTABLE runobtable; LPMONIKER moniker; + DWORD rot_flags = ROTFLAGS_REGISTRATIONKEEPSALIVE; /* default registration is strong */ StringFromGUID2(rcid,guidbuf,39); ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker); @@ -481,7 +482,9 @@ HRESULT WINAPI RegisterActiveObject( IMoniker_Release(moniker); return ret; } - ret = IRunningObjectTable_Register(runobtable,dwFlags,punk,moniker,pdwRegister); + if(dwFlags == ACTIVEOBJECT_WEAK) + rot_flags = 0; + ret = IRunningObjectTable_Register(runobtable,rot_flags,punk,moniker,pdwRegister); IRunningObjectTable_Release(runobtable); IMoniker_Release(moniker); return ret;