зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1079311 - Unlock mutex before logging error in RegisterContractIDLocked. r=bsmedberg
This commit is contained in:
Родитель
ec55989494
Коммит
1c5b3fd66a
|
@ -563,11 +563,12 @@ nsComponentManagerImpl::RegisterContractIDLocked(
|
|||
|
||||
nsFactoryEntry* f = mFactories.Get(*aEntry->cid);
|
||||
if (!f) {
|
||||
NS_ERROR("No CID found when attempting to map contract ID");
|
||||
NS_WARNING("No CID found when attempting to map contract ID");
|
||||
|
||||
char idstr[NSID_LENGTH];
|
||||
aEntry->cid->ToProvidedString(idstr);
|
||||
|
||||
SafeMutexAutoUnlock unlock(mLock);
|
||||
LogMessage("Could not map contract ID '%s' to CID %s because no implementation of the CID is registered.",
|
||||
aEntry->contractid,
|
||||
idstr);
|
||||
|
|
|
@ -8,8 +8,12 @@
|
|||
#define NS_TESTING_CID \
|
||||
{ 0x335fb596, 0xe52d, 0x418f, \
|
||||
{ 0xb0, 0x1c, 0x1b, 0xf1, 0x6c, 0xe5, 0xe7, 0xe4 } }
|
||||
#define NS_NONEXISTENT_CID \
|
||||
{ 0x1e61fb15, 0xead4, 0x45cd, \
|
||||
{ 0x80, 0x13, 0x40, 0x99, 0xa7, 0x10, 0xa2, 0xfa } }
|
||||
|
||||
NS_DEFINE_NAMED_CID(NS_TESTING_CID);
|
||||
NS_DEFINE_NAMED_CID(NS_NONEXISTENT_CID);
|
||||
|
||||
static nsresult
|
||||
DummyConstructorFunc(nsISupports* aOuter, const nsIID& aIID, void** aResult)
|
||||
|
@ -23,9 +27,15 @@ static const mozilla::Module::CIDEntry kTestCIDs[] = {
|
|||
{ nullptr }
|
||||
};
|
||||
|
||||
static const mozilla::Module::ContractIDEntry kTestContractIDs[] = {
|
||||
{ "@testing/foo", &kNS_NONEXISTENT_CID },
|
||||
{ nullptr }
|
||||
};
|
||||
|
||||
static const mozilla::Module kTestModule = {
|
||||
mozilla::Module::kVersion,
|
||||
kTestCIDs
|
||||
kTestCIDs,
|
||||
kTestContractIDs
|
||||
};
|
||||
|
||||
NSMODULE_DEFN(dummy) = &kTestModule;
|
||||
|
|
Загрузка…
Ссылка в новой задаче