Open Bug 558578 Opened 14 years ago Updated 2 years ago

Tree: "current" indicator rendering inconsistent, when current not in selection

Categories

(Core :: Widget, defect)

x86_64
Windows XP
defect

Tracking

()

People

(Reporter: mcow, Unassigned)

Details

(Keywords: regression)

I'm seeing this in: TB 3.03 (64-bit and 32-bit builds), Lanikai, Firefox 3.6.3.
64-bit Windows XP on an Athlon dual-core.

This is a minor issue, but it does have to do with properly indicating where focus is.  In a tree control, the 'current' item is indicated by a dashed line around the item.  Usually, "current" is, or is part of, the selection; however, "current" is separate from selection, exists even if no selection, and may be located on an unselected item along with a selection.  The "current", like the selection, may be scrolled outside the window.

When the tree does not have focus, the 'current' indicator should not be visible.  The bug is that the "current" is not consistently erased when focus shifts away, and is not consistently drawn when focus shifts in, if the "current" is not part of the selection.

An initialized tree with no focus and no selection does not show "current" (correctly).  When the focus shifts to it, the "current" is drawn.  When focus shifts away, the "current" remains, but if the window or item is made to redraw, then it renders without the "current" visible.  Also, the "current" is erased if the mouse pointer moves over the "current" item when focus is lost.

The problem does not happen if the "current" is part of the selection.

The behavior gets more complicated, tho -- I haven't figured out the trigger for this case, but the control can get into a state where it won't draw the "current" when focus is gained, until a redraw is forced by pointer traversal or window redraw.

Noticed this while checking behavior of bug 304676 comment 1 in trunk builds.

Steps to reproduce:

1) Using Lanikai: With a profile that's configured with "Remember last message" turned OFF, select a populated folder.  Using the keyboard (e.g. F6), shift focus to the message pane.
2) Shift focus away (e.g. Shift+F6).
3) Bring another window in front of the message pane, then re-activate Lanikai.
4) Shift focus back onto message pane, then away again.  Mouse the pointer over the "current" item.
5) Shift focus back onto message pane.
6) Drag the mouse over the current item.

Actual results:
1) indicator drawn
2) indicator remains
3) redrawn window does not show indicator
4) indicator remains on blur, then erases when pointer enters
5) indicator not drawn
6) indicator drawn

Expected results (where different):
2) indicator is erased
4) indicator is erased on blur, doesn't require mouseover
5) indicator is drawn on focus

Similar results can be seen in Firefox's Bookmark Manager
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.