GNOME Bugzilla – Bug 545623
Revert to checking extents for navigating amongst line breaks
Last modified: 2009-03-10 00:05:21 UTC
Alastair reported on the Orca list: --------------------- On the page http://www.gentoo.org/doc/en/power-management-guide.xml do a search for "listing 2.5" and try and arrow down through the lines which follow. I've found that it gets stuck at certain points and just keeps saying blank and not moving down. I then need to arrow right to get to the next line. I've had a brief look at the html and the only possible cause i can see is the use of the span tags, but i can't reproduce the problem in html myself. --------------------- It's not the spans; it's the double line breaks. :-( As part of last release's line navigation refactor we largely abandoned the use of find{Previous,Next}CaretInOrder() and checking extents. As a result, we had to be clever about whitespace -- in particular line break characters. We're not being clever enough. As a result, we have the above issue as well as bug 534431 (skipping over line breaks when composing certain messages). Rather than try to anticipate every case (which is becoming increasingly difficult given changes in Firefox 3.1 seem to include exposing whitespace differently from 3.0), we should rely upon checking extents when verifying that we have located a new line.
Created attachment 115595 [details] [review] revision 1 This patch seems to solve the problem Alastair reported, along with a new bug presented by changes in Firefox 3.1, along with another bug I've been meaning to address (noted in the regression tests), along with the thunderbird line break bug. It also passes the regression tests for 3.1. I want to run what we have against 3.0 to make sure we haven't blown up anything there. Please test thoroughly. :-)
It seems to pass the FF3.0 tests as well -- keeping in mind the differences/fixes made in 3.1. Mike, Jon, and others, please pound on it. :-)
So far I'm finding no problems with this patch. I've given it quite a bit of testing.
Mike and I chatted about this one and decided to check it in for the 2.23.6 release. Done. Moving to pending.