fix crash by removing DisplayZTreeNode's from the mMapPlaceholderViewToZTreeNode hashtable in DestroyZTreeNode. bug 78661. r=roc+moz sr=attinasi

This commit is contained in:
kmcclusk%netscape.com 2001-11-02 03:59:28 +00:00
Родитель c600de318a
Коммит 0fabd89842
2 изменённых файлов: 9 добавлений и 3 удалений

Просмотреть файл

@ -168,8 +168,14 @@ struct DisplayZTreeNode {
DisplayListElement2* mDisplayElement; // tree leaf nodes
};
static void DestroyZTreeNode(DisplayZTreeNode* aNode) {
if (nsnull != aNode) {
void nsViewManager::DestroyZTreeNode(DisplayZTreeNode* aNode)
{
if (aNode) {
if (mMapPlaceholderViewToZTreeNode.Count() > 0) {
nsVoidKey key(aNode->mView);
DisplayZTreeNode* placeholder = (DisplayZTreeNode *)mMapPlaceholderViewToZTreeNode.Remove(&key);
}
DestroyZTreeNode(aNode->mZChild);
DestroyZTreeNode(aNode->mZSibling);
delete aNode->mDisplayElement;

Просмотреть файл

@ -382,7 +382,7 @@ private:
nsIRenderingContext *mWhiteCX;
nsISupportsArray *mCompositeListeners;
void DestroyZTreeNode(DisplayZTreeNode* aNode);
protected:
nsIView *mRootView;
nscoord mX;