Re: Firefox 4 beta 8 -> get_accChild() returns E_INVALIDARG
david bolter <[email protected]> Tue, 1 Feb 2011 11:46:50 -0500
| Newsgroups | gmane.comp.mozilla.accessibility |
|---|---|
| Message-ID | <[email protected]> |
Oops. The fix landed on on January 11 and should be in all subsequent ff4 nightly and beta builds. Thanks for the ping. D On Feb 1, 2011 11:24 AM, "Sylvain" <[email protected]> wrote: > Hi David, > > You told me "We'll let you know when the fix has landed in the nightly > build". Il there any news? > > Thanks! > > Sylvain > > On 11 jan, 16:04, David Bolter <[email protected]> wrote: >> Sylvain, >> >> Thanks very much for reporting this bug to us. Alexander has filed and >> fixed! We'll let you know when the fix has landed in the nightly build. >> >> Cheers, >> David >> >> On 11/01/11 1:56 AM, Sylvain wrote: >> >> >> >> > Hi Alexander, >> >> > Here is the html page:www.swsso.fr/demo/ >> >> > If you explore this page with a tool such as inspect32.exe (free >> > Microsoft tool), you can see that the content window has 6 childs. >> > The first 5 childs are<BR> objects. >> > The 6th is a form object. Inspect32 succeeds getting this object >> > because it uses accNavigate method. >> >> > I would like to get this object with a simple loop form 1 to 6 >> > invoking the get_accChild() method: >> > - 1 to 5 returns OK (<BR> objects). >> > - 6 returns E_INVALID_ARG. >> >> > Hope this helps. >> >> > Thank you. >> >> > Sylvain >> >> > On 11 jan, 04:06, Alexander Surkov<[email protected]> wrote: >> >> Hi, Sylvain. >> >> >> I could suppose beta 6 and beta 8 expose different accessible trees >> >> making your code fail. As David said we need a test case to see what >> >> happens. I don't really think it's trivial as you assumed. >> >> >> Thank you. >> >> Alex. >> >> >> On Mon, Jan 10, 2011 at 10:08 PM, Sylvain<[email protected]> wrote: >> >>> Hi all, >> >>> This code was OK on beta 6, but fails on beta 8 (not tested on beta >> >>> 7). This code simply tries to get the first child of an object: >> >>> hr=AccessibleObjectFromWindow(w,(DWORD)OBJID_CLIENT,IID_IAccessible, >> >>> (void**)&pTopAccessible); >> >>> hr=pTopAccessible->accNavigate(0x1009,vtStart,&vtResult); // >> >>> NAVRELATION_EMBEDS = 0x1009 >> >>> pIDispatch=(IDispatch*)vtResult.lVal; >> >>> hr=pIDispatch->QueryInterface(IID_IAccessible, (void**)&pAccessible); >> >>> hr=pAccessible->get_accChildCount(&lCount); >> >>> // ==> value of lCount is 6 in my example >> >>> vtChild.vt=VT_I4; >> >>> vtChild.lVal=1; >> >>> hr=pAccessible->get_accChild(vtChild,&pIDispatch); => hr=S_OK >> >>> ... >> >>> vtChild.lVal=6; >> >>> hr=pAccessible->get_accChild(vtChild,&pIDispatch); => hr=E_INVALIDARG! >> >>> Do you have an idea? Not sure, but I guess there is a bug in the >> >>> Firefox code: I suppose there is a test like this in the >> >>> get_accChild() method: >> >>> if (vtChild.lVal>= lCount) return E_INVALIDARG; // where lCount is >> >>> the number of childs. >> >>> As the childs are 1 based and not 0 based, the right code should be: >> >>> if (vtChild.lVal> lCount) return E_INVALIDARG; // where lCount is the >> >>> number of childs. >> >>> Thanks! >> >>> Sylvain >> >>> _______________________________________________ >> >>> dev-accessibility mailing list >> >>> [email protected] >> >>>https://lists.mozilla.org/listinfo/dev-accessibility >> > _______________________________________________ >> > dev-accessibility mailing list >> > [email protected] >> >https://lists.mozilla.org/listinfo/dev-accessibility > > _______________________________________________ > dev-accessibility mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-accessibility