GNOME Bugzilla – Bug 571001
STATE_SHOWING missing on table items
Last modified: 2009-02-25 08:42:16 UTC
This bug seems to be new with GNOME 2.25.x. 1) Run the to-be-attached test case in an xterm 2) Run gtk-demo, open the Tree View -> Tree Store demo 3) Arrow down the tree full of holidays Eventually, you see that the STATE_SHOWING state is missing from table cells even when they are visible.
Created attachment 128257 [details] Test case This test application prints out information for all the cells in the same row as the object that is the new active descendant. The True/False being output represents the presence/absence of the STATE_SHOWING state.
BTW, the impact of this is that table cell row information is no longer presented to the user when they arrow down through the table. It's kind of a bad bug. :-(
Created attachment 129036 [details] [review] patch The simple patch fixed the bug on my machine.
Li Yuan, I tryed apply the attached patch and failed the apply operation. I use trunk age with gail (svn co http://svn.gnome.org/svn/gail/trunk). How can you apply this patch? I would like test this fix with Orca screen reader. I hope this fix solves the problem my machine, and Orca says correct the table rows. Attila
Please try to apply the patch to gtk+, gail has been moved to gtk+
Tryed. Downloaded gtk+ with svn trunk: svn co http://svn.gnome.org/svn/gtk+/trunk When I tryed run autogen.sh, the script says need automake 1.7 (automake 1.10 installed my Jaunty system). I downloaded automake 1.7 and installed, but not help. After this I downloaded libgail-dev source package, applyed the patch and rebuil whole source ( lot of time build). :-):-) After this, I installed the rebuilded packages. Problem: Not solve this patch my problem, Orca screen reader does'nt speak whole table row when table reading mode setted up row mode. See my bugreport with http://bugzilla.gnome.org/show_bug.cgi?id=570859 What can I wrong? I would like help testing if possible Attila
Patch seems to overlap with the one in bug 325809
Oh, yes. We can ignore the second part of patch for bug #325809.
As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can you confirm that?
(In reply to comment #9) > As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can > you confirm that? Heh - it's on my list. Building GTK+ from sources has always been a source of trouble for me, though. I usually end up toasting my desktop. :-( Do you have a recommendation for how I might do this on an OpenSolaris 2008.11 b107 machine?
BEFORE: [table cell | January] False [table cell | ] False [table cell | ] False [table cell | ] False [table cell | ] False [table cell | ] False [table cell | New Years Day] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | Presidential Inauguration] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | Martin Luther King Jr. day] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True AFTER: [table cell | January] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | New Years Day] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | Presidential Inauguration] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | Martin Luther King Jr. day] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True [table cell | ] True
(In reply to comment #10) > (In reply to comment #9) > > As I tried, the STATE_SHOWING is added on the table items. Will and Joanie, can > > you confirm that? > > Heh - it's on my list. Building GTK+ from sources has always been a source of > trouble for me, though. I usually end up toasting my desktop. :-( Do you > have a recommendation for how I might do this on an OpenSolaris 2008.11 b107 > machine? > 1. Get automake 1.7 (http://ftp.gnu.org/gnu/automake/) 2. Build glib from svn trunk 3. Get libjasper from the 'pending' repo 4. (Make a special BE and/or take a "before" snapshot ;-) )
Sorry for the spam. Li, I just examined this via Accerciser. Try the following: 1. In Accerciser select 'Administrative Professionals' as the accessible. Use the Interface Viewer to examine its state (and leave the Accerciser window in such a way that you can continue to monitor the state while in gtk-demo). In the tree store demo: 2. Use the mouse to scroll the scroll pane and also to click on rows. 3. Use the keyboard to arrow around. Administrative Professionals seems to get STATE_SHOWING one row early and lose it as you scroll further down (even though it's still on screen). Are you seeing this as well?
Created attachment 129386 [details] [review] new patch
(In reply to comment #13) Thank you Joanie. > > Administrative Professionals seems to get STATE_SHOWING one row early I think this is not one row early. This is because the cell has a very little part showing on the screen. > and lose it as you scroll further down (even though it's still on screen). I found this too. Turns out gtk_tree_view_get_visible_rect return values in tree coordinates. I am changing it to bin_window coordinates. Thanks for your test case.
(In reply to comment #15) > I think this is not one row early. This is because the cell has a very little > part showing on the screen. Ok, if I get really, really, really close to my monitor... ;-) Yeah, you're right. Sorry! > I found this too. Turns out gtk_tree_view_get_visible_rect return values in > tree coordinates. I am changing it to bin_window coordinates. I've played with this for a while now, both using Accerciser and using Orca. STATE_SHOWING seems to be exposed (and removed) as expected for all of the tests I've done (clicking, arrowing, scrolling with and without giving focus, etc.) Thanks!!