mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1319640: Ensure that a11y::ChildrenEnumVariant does not output bad native accessible pointers; r=tbsaunde
MozReview-Commit-ID: l0RDW9zDOo
This commit is contained in:
parent
9ba87d3afb
commit
06963d6828
@ -32,13 +32,24 @@ ChildrenEnumVariant::Next(ULONG aCount, VARIANT FAR* aItems,
|
||||
return CO_E_OBJNOTCONNECTED;
|
||||
|
||||
ULONG countFetched = 0;
|
||||
for (; mCurAcc && countFetched < aCount; countFetched++) {
|
||||
while (mCurAcc && countFetched < aCount) {
|
||||
VariantInit(aItems + countFetched);
|
||||
aItems[countFetched].pdispVal = AccessibleWrap::NativeAccessible(mCurAcc);
|
||||
aItems[countFetched].vt = VT_DISPATCH;
|
||||
|
||||
mCurIndex++;
|
||||
IDispatch* accNative = AccessibleWrap::NativeAccessible(mCurAcc);
|
||||
|
||||
++mCurIndex;
|
||||
mCurAcc = mAnchorAcc->GetChildAt(mCurIndex);
|
||||
|
||||
// Don't output the accessible and count it as having been fetched unless
|
||||
// it is non-null
|
||||
MOZ_ASSERT(accNative);
|
||||
if (!accNative) {
|
||||
continue;
|
||||
}
|
||||
|
||||
aItems[countFetched].pdispVal = accNative;
|
||||
aItems[countFetched].vt = VT_DISPATCH;
|
||||
++countFetched;
|
||||
}
|
||||
|
||||
(*aCountFetched) = countFetched;
|
||||
|
Loading…
Reference in New Issue
Block a user