Closed
Bug 10688
Opened 25 years ago
Closed 25 years ago
Hitting Tab Key turns off selection by forcing focus change
Categories
(Core :: DOM: Editor, defect, P3)
Core
DOM: Editor
Tracking
()
VERIFIED
FIXED
People
(Reporter: kinmoz, Assigned: buster)
References
Details
Start the editor. Put the caret anywhere in a text block. Hit the tab key.
Notice that 4 spaces were added.
Now try to move the caret somewhere else or try to select something. You
can't!!!
This has to do with the fact that nsEventStateManager::PostHandleEvent() is
looking specifically for tab characters and then broadcasting an onBlur message,
which the editor now listens for. Here's the stack trace:
nsTextEditorFocusListener::Blur(nsIDOMEvent * 0x02344830) line 1426
nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent *
0x0012f818, nsIDOMEvent * * 0x0012f768, unsigned int 3, nsEventStatus &
nsEventStatus_eIgnore) line 818 + 17 bytes
nsDocument::HandleDOMEvent(nsDocument * const 0x0230f5f0, nsIPresContext &
{...}, nsEvent * 0x0012f818, nsIDOMEvent * * 0x0012f768, unsigned int 1,
nsEventStatus & nsEventStatus_eIgnore) line 2303
nsHTMLHtmlElement::HandleDOMEvent(nsHTMLHtmlElement * const 0x0231179c,
nsIPresContext & {...}, nsEvent * 0x0012f818, nsIDOMEvent * * 0x00000000,
unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 186 + 41 bytes
nsEventStateManager::SendFocusBlur(nsEventStateManager * const 0x0233dee0,
nsIContent * 0x00000000) line 1236
nsEventStateManager::SetContentState(nsEventStateManager * const 0x0233dee0,
nsIContent * 0x00000000, int 2) line 1129
nsEventStateManager::ShiftFocus(int 1) line 833
nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x0233dee0,
nsIPresContext & {...}, nsGUIEvent * 0x0012fb78, nsIFrame * 0x0231fe50,
nsEventStatus & nsEventStatus_eIgnore, nsIView * 0x0231fcd0) line 280
PresShell::HandleEvent(PresShell * const 0x02318124, nsIView * 0x0231fcd0,
nsGUIEvent * 0x0012fb78, nsEventStatus & nsEventStatus_eIgnore) line 2259 + 43
bytes
nsView::HandleEvent(nsView * const 0x0231fcd0, nsGUIEvent * 0x0012fb78, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 834
nsView::HandleEvent(nsView * const 0x0231f1f0, nsGUIEvent * 0x0012fb78, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 819
nsView::HandleEvent(nsView * const 0x0231f120, nsGUIEvent * 0x0012fb78, unsigned
int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 819
nsView::HandleEvent(nsView * const 0x023175c0, nsGUIEvent * 0x0012fb78, unsigned
int 28, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 819
nsViewManager::DispatchEvent(nsViewManager * const 0x02317e20, nsGUIEvent *
0x0012fb78, nsEventStatus & nsEventStatus_eIgnore) line 1736
HandleEvent(nsGUIEvent * 0x0012fb78) line 67
nsWindow::DispatchEvent(nsWindow * const 0x0231f284, nsGUIEvent * 0x0012fb78,
nsEventStatus & nsEventStatus_eIgnore) line 490 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fb78) line 515
nsWindow::DispatchKeyEvent(unsigned int 133, unsigned short 0, unsigned int 9)
line 1955 + 15 bytes
nsWindow::OnKeyDown(unsigned int 9, unsigned int 15) line 2150
nsWindow::ProcessMessage(unsigned int 256, unsigned int 9, long 983041, long *
0x0012fd9c) line 2493 + 37 bytes
nsWindow::WindowProc(void * 0x000d0cfc, unsigned int 256, unsigned int 9, long
983041) line 563 + 27 bytes
USER32! 77e71250()
*** Bug 10430 has been marked as a duplicate of this bug. ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Summary: Hitting Tab Key turns off selection → Hitting Tab Key turns off selection by forcing focus change
problem is that we're handling tab on keypress, and joki is handling tab on
keydown to force focus changes. switched our handling of tab to keydown, and
all is well.
You need to log in
before you can comment on or make changes to this bug.
Description
•