diff options
-rw-r--r-- | winaccessibility/source/UAccCOM/UAccCOM.cxx | 4 | ||||
-rw-r--r-- | winaccessibility/source/service/msaaservice_impl.cxx | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/winaccessibility/source/UAccCOM/UAccCOM.cxx b/winaccessibility/source/UAccCOM/UAccCOM.cxx index 1f7eab49da71..851464f058f9 100644 --- a/winaccessibility/source/UAccCOM/UAccCOM.cxx +++ b/winaccessibility/source/UAccCOM/UAccCOM.cxx @@ -66,10 +66,14 @@ extern "C" if (dwReason == DLL_PROCESS_ATTACH) { _Module.Init(ObjectMap, hInstance, &LIBID_UACCCOMLib); + _Module.RegisterClassObjects(CLSCTX_INPROC_SERVER, REGCLS_MULTIPLEUSE); DisableThreadLibraryCalls(hInstance); } else if (dwReason == DLL_PROCESS_DETACH) + { + _Module.RevokeClassObjects(); _Module.Term(); + } return TRUE; // ok } diff --git a/winaccessibility/source/service/msaaservice_impl.cxx b/winaccessibility/source/service/msaaservice_impl.cxx index 950ef9b66cae..6dc1b250bf42 100644 --- a/winaccessibility/source/service/msaaservice_impl.cxx +++ b/winaccessibility/source/service/msaaservice_impl.cxx @@ -267,6 +267,14 @@ Reference< XInterface > SAL_CALL create_MSAAServiceImpl( Reference< XComponentCo } } + // load UAccCOM library so its DllMain can register its COM components + static HMODULE h = LoadLibrary("UAccCOM.dll"); + if (!h) + { + assert(false); + return 0; + } + Reference< XMSAAService > xAccMgr( new MSAAServiceImpl() ); AccessBridgeUpdateOldTopWindows( xAccMgr ); |