1. Converts callers of nsIComponentManagerObsolete to use

nsIComponentRegistrar.

2. Converts callers of nsComponentManager::AutoRegister to use
nsIComponentRegistrar's autoRegistrar method.

3. Add nsIComponentRegistrar implmentation to nsComponentManagerImpl.

4. Rearrange nsComponentManager.cpp so that related methods are in the same
place.

5. Added a C-style function NS_GetComponentRegistrar so that getting the
registrar is easier in some places.

6. Added a nsISimpleEnumerator interface on PLDHashTableEnumeratorImpl.  in
this way, the same base class can support both old style and new style
enumerations.

7. Fixed a nasty bug where unregistring factories will leave the contract id
hash with a dangling pointer.  Now, when unregister is called we search the
contract id hash for entries which have the given doomned cid and remove them.


Bug 115853.  r=dp@netscape.com, sr=rpotts@netscape.com
This commit is contained in:
dougt%netscape.com 2005-11-02 16:05:00 +00:00
parent dff8a8c59e
commit 4f0357d604

View File

@ -83,7 +83,7 @@ public:
{
return nsnull;
}
return mImpl->mArray[aIndex];
return mImpl ? mImpl->mArray[aIndex] : nsnull;
}
// bounds-checked version
@ -93,7 +93,7 @@ public:
{
return nsnull;
}
return mImpl->mArray[aIndex];
return mImpl ? mImpl->mArray[aIndex] : nsnull;
}
void* operator[](PRInt32 aIndex) const { return ElementAt(aIndex); }