Closed
Bug 304906
Opened 19 years ago
Closed 12 years ago
NS_InitXPCOM2 (and friends) should arrange that the specified xpcom directory is in the path
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: timeless, Unassigned)
Details
we have a module which runs from bin\, it is loaded by an app ..\foo\bar.exe
our module calls xpcom_core.dll!NS_InitXPCOM2_P and specifies the bin directory
as where xpcom is. XPCOM proceeds to initialize.... at first xpc3250.dll fails
to init because js3250.dll can't be found. we claim and dougt accepts that when
we told xpcom to init with the bin\ directory as its starting point that it
should use that as part of its path. The only real symptom is a dialog
complaining js3250.dll because eventually xpc3250 and js3250 actually load.
from NS_InitXPCOM2_P:
+
{,,xpcom_core.dll}((*(nsACString*)(&(*(nsCSubstring*)(&(*(nsLocalFile*){*}binDirectory).mWorkingPath))))).mData
0x02d63400 "C:\Program Files\Vendor\Vendor Product\Engine\BackEnd"
char *
from nsNativeComponentLoader::GetFactory:
+
{,,xpcom_core.dll}((*(nsACString*)(&(*(nsCSubstring*)(&(*(nsLocalFile*){*}(((*(nsCOMPtr_base*)(&(*dll).m_dllSpec))).mRawPtr)).mWorkingPath))))).mData
0x02d98dc0 "C:\Program Files\Vendor\Vendor
Product\Engine\BackEnd\components\xpc3250.dll" char *
if (!dll->Load()) {
fell into the ! case (Load returned 0)
because of js3250.dll
xpcom_core.dll!nsNativeComponentLoader::GetFactory(const nsID &
aCID={...}, const char * aLocation=0x02da98d0, const char * aType=0x02d724d0,
nsIFactory * * _retval=0x0012e89c) Line 128 C++
xpcom_core.dll!nsFactoryEntry::GetFactory(nsIFactory * *
aFactory=0x0012e89c, nsComponentManagerImpl * mgr=0x00000000) Line 287 + 0x1d
C++
xpcom_core.dll!nsComponentManagerImpl::CreateInstanceByContractID(const
char * aContractID=0x02d99390, nsISupports * aDelegate=0x00000000, const nsID &
aIID={...}, void * * aResult=0x00000000) Line 1958 C++
xpcom_core.dll!nsComponentManagerImpl::GetServiceByContractID(const
char * aContractID=0x02d99390, const nsID & aIID={...}, void * *
result=0x0012e928) Line 2385 C++
xpcom_core.dll!nsGetServiceFromCategory::operator()(const nsID &
aIID={...}, void * * aInstancePtr=0x0012e928) Line 245 + 0x1c C++
xpcom_core.dll!nsCOMPtr_base::assign_from_helper(const nsCOMPtr_helper
& helper={...}, const nsID & iid={...}) Line 114 + 0x10 C++
xpcom_core.dll!nsComponentManagerImpl::GetLoaderForType(int aType=0,
nsIComponentLoader * * aLoader=0x0012e974) Line 2868 C++
xpcom_core.dll!nsFactoryEntry::GetFactory(nsIFactory * *
aFactory=0x0012e9a4, nsComponentManagerImpl * mgr=0x02d6aee8) Line 284 C++
xpcom_core.dll!nsComponentManagerImpl::CreateInstanceByContractID(const
char * aContractID=0x02d99350, nsISupports * aDelegate=0x00000000, const nsID &
aIID={...}, void * * aResult=0x00000000) Line 1958 C++
xpcom_core.dll!nsComponentManagerImpl::GetServiceByContractID(const
char * aContractID=0x02d99350, const nsID & aIID={...}, void * *
result=0x0012ea08) Line 2385 C++
xpcom_core.dll!nsGetServiceByContractID::operator()(const nsID &
aIID={...}, void * * aInstancePtr=0x0012ea08) Line 183 + 0xf C++
xpcom_core.dll!nsCOMPtr_base::assign_from_helper(const nsCOMPtr_helper
& helper={...}, const nsID & iid={...}) Line 114 + 0x10 C++
xpcom_core.dll!NS_CreateServicesFromCategory(const char *
category=0x02d6af30, nsISupports * origin=0x02d6aee8, const char *
observerTopic=0x0012e90c) Line 786 C++
> xpcom_core.dll!NS_InitXPCOM2_P(nsIServiceManager * * result=0x02d6326c,
nsIFile * binDirectory=0x02d63398, nsIDirectoryServiceProvider *
appFileLocationProvider=0x00000000) Line 674 + 0xd C++
ourLibrary.dll!ourClass::InitXPCOM() Line 208 + 0x13 C++
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•