Leak bustage fix for bug 472662, r=peterv

This commit is contained in:
Marco Zehe 2009-02-05 12:46:34 +01:00
parent e0de92ba08
commit 7c4bc172c2
2 changed files with 4 additions and 8 deletions

View File

@ -408,16 +408,14 @@ nsAccEvent::CoalesceReorderEventsFromSameSource(nsAccEvent *aAccEvent1,
nsAccEvent *aAccEvent2)
{
// Do not emit event2 if event1 is unconditional.
nsAccReorderEvent* reorderEvent1 = nsnull;
CallQueryInterface(aAccEvent1, &reorderEvent1);
nsCOMPtr<nsAccReorderEvent> reorderEvent1 = do_QueryInterface(aAccEvent1);
if (reorderEvent1->IsUnconditionalEvent()) {
aAccEvent2->mEventRule = nsAccEvent::eDoNotEmit;
return;
}
// Do not emit event1 if event2 is unconditional.
nsAccReorderEvent* reorderEvent2 = nsnull;
CallQueryInterface(aAccEvent2, &reorderEvent2);
nsCOMPtr<nsAccReorderEvent> reorderEvent2 = do_QueryInterface(aAccEvent2);
if (reorderEvent2->IsUnconditionalEvent()) {
aAccEvent1->mEventRule = nsAccEvent::eDoNotEmit;
return;
@ -435,8 +433,7 @@ nsAccEvent::CoalesceReorderEventsFromSameTree(nsAccEvent *aAccEvent,
nsAccEvent *aDescendantAccEvent)
{
// Do not emit descendant event if this event is unconditional.
nsAccReorderEvent* reorderEvent = nsnull;
CallQueryInterface(aAccEvent, &reorderEvent);
nsCOMPtr<nsAccReorderEvent> reorderEvent = do_QueryInterface(aAccEvent);
if (reorderEvent->IsUnconditionalEvent()) {
aDescendantAccEvent->mEventRule = nsAccEvent::eDoNotEmit;
return;

View File

@ -1708,8 +1708,7 @@ NS_IMETHODIMP nsDocAccessible::FlushPendingEvents()
// Fire reorder event if it's unconditional (see InvalidateCacheSubtree
// method) or if changed node (that is the reason of this reorder event)
// is accessible or has accessible children.
nsAccReorderEvent* reorderEvent = nsnull;
CallQueryInterface(accessibleEvent, &reorderEvent);
nsCOMPtr<nsAccReorderEvent> reorderEvent = do_QueryInterface(accessibleEvent);
if (reorderEvent->IsUnconditionalEvent() ||
reorderEvent->HasAccessibleInReasonSubtree()) {
nsAccEvent::PrepareForEvent(accessibleEvent);