When I click and select an item in a listbox it does not have focus, because when I hit a key null comes back from the manager as the currently focused item. Also, GetFrameForPoint comes back with the area frame that is inside the root frame.
Chris, I know you mentioned that most the focus work was done, but I thought I would at least start this out with you. Making beta1, adding joki to cc'list.
To test: 1) Click on the first item 2) hit the "f" key to go to the last item "Four"
PDT- for beta1. We're assuming that you can still select via a mouse, you just can't select via keyboard. If we're mistaken, please clear the PDT annotation and add an explanation.
I agree with the the fact that selecting via the mouse is enough, but I think there is a much bigger focus issue here.
Not focus' fault. Follow the event Luke. By the time the mouse down event gets to nsEventStateManager::PostHandleEvent, it has had PreventDefault called on it, which prevents focus from being set. PostHandleEvent has been this way since before I ever touched focus. This means that someone, I'm going to guess the listbox, has prevented the default action, and thus prevented focus from being set via the mouse. Also, you *can* set focus to a list box if you tab to it.
Assignee: saari → rods
Oh, Obi-wan-saari you are so wise. Through your wisedom I have found and fixed the problem. (Thanks for the insight)
Status: NEW → ASSIGNED
Whiteboard: [PDT-] → [PDT-] Fix is in my tree
I believe this is a PDT+ bug, when fixed (the fix has a risk of zero) The following things will be fixed by this bug: 1) enable the ListBox to get focus on a mouse down 2) enables the arrow keys to work in the listbox for selecting items (after the mousedown) 3) enables the user to hit the first letter of an item and have it go there 4) enables you to then tab to the next item from the listbox
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.