Re: Firefox 4 beta 8 -> get_accChild() returns E_INVALIDARG
Sylvain <[email protected]> Tue, 1 Feb 2011 05:33:15 -0800 (PST)
| Newsgroups | gmane.comp.mozilla.accessibility |
|---|---|
| Organization | http://groups.google.com |
| Message-ID | <57db856a-4031-4609-ac02-54bfae90c8fa@k38g2000vbn.googlegroups.com> |
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