Bug 380716, Crash [@ nsContentUtils::ContentIsDescendantOf], r+sr=jst

This commit is contained in:
Olli.Pettay@helsinki.fi 2007-05-18 03:23:45 -07:00
Родитель 6b77e511dd
Коммит 66b98ebaff
1 изменённых файлов: 11 добавлений и 7 удалений

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

@ -1904,13 +1904,17 @@ nsGenericElement::doPreHandleEvent(nsIContent* aContent,
(aVisitor.mEvent->originalTarget == aContent && (aVisitor.mEvent->originalTarget == aContent &&
(aVisitor.mRelatedTargetIsInAnon = IsInAnonContent(relatedTarget)))) { (aVisitor.mRelatedTargetIsInAnon = IsInAnonContent(relatedTarget)))) {
nsIContent* nonAnon = FindFirstNonAnonContent(aContent); nsIContent* nonAnon = FindFirstNonAnonContent(aContent);
nsIContent* nonAnonRelated = FindFirstNonAnonContent(relatedTarget); if (nonAnon) {
if (nonAnon == nonAnonRelated || nsIContent* nonAnonRelated = FindFirstNonAnonContent(relatedTarget);
nsContentUtils::ContentIsDescendantOf(nonAnonRelated, nonAnon)) { if (nonAnonRelated) {
aVisitor.mParentTarget = nsnull; if (nonAnon == nonAnonRelated ||
// Event should not propagate to non-anon content. nsContentUtils::ContentIsDescendantOf(nonAnonRelated, nonAnon)) {
aVisitor.mCanHandle = isAnonForEvents; aVisitor.mParentTarget = nsnull;
return NS_OK; // Event should not propagate to non-anon content.
aVisitor.mCanHandle = isAnonForEvents;
return NS_OK;
}
}
} }
} }
} }