Closed Bug 334551 Opened 19 years ago Closed 18 years ago

unable to move text insertion point via keyboard

Categories

(Core :: Widget: Cocoa, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jaas, Assigned: jaas)

References

Details

Attachments

(3 files)

Often I am unable to move the text insertion point in a text field (URL bar, HTML form text field) via the keyboard. The left and right arrow keys do nothing.

This seems to be a regression from bug 287813, new caret drawing path.
I can see this problem in Cocoa Firefox but not Camino.

I can work around this bug but moving to another app (Finder) and back to Firefox, then clicking in the text field again. Everything seems to work then.
Summary: cursor → unable to move text insertion point via keyboard
I reproduced this bug on stuart's machine, but even after a local backout, I was seeing the same symptoms, even though the caret didn't blink at all. I think this is a bug in cocoa widgets event handling, not in the caret, or the new implementation.
I see this in a cocoafox build with 0328 source, but it's intermittent.  It gives trouble consistently if you start the app, tab to a text field (the URL or search bar show the bug), enter some text if there isn't any, and try using the arrows.
Attached patch fix v1.0Splinter Review
Attachment #219346 - Flags: review?(mark)
Comment on attachment 219346 [details] [diff] [review]
fix v1.0

+  status = nsEventStatus_eIgnore;

You don't need this either time you do it.

Deactivate before lostfocus?
Attachment #219346 - Flags: review?(mark) → review+
Attached patch fix v1.1Splinter Review
this is what I'm checking in
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
removing regression keyword since this had nothing to do with mrbkap's caret patch
Keywords: regression
Something didn't seem right to me about this so I did some event profiling and found the real fix for this problem. The checkin comment:

In bug 334551, we added NS_ACTIVATE/NS_DEACTIVATE messages to windows in order to fix a focus problem. However, we were already sending NS_ACTIVATE following NS_GOTFOCUS somewhere else and the real problem was that immediately afterwords we sent another NS_GOTFOCUS. Adding another NS_ACTIVATE seemed to fix the problem because instead of sending NS_GOTFOCUS/NS_ACTIVATE/NS_GOTFOCUS, we sent NS_GOTFOCUS/NS_ACTIVATE/NS_GOTFOCUS/NS_ACTIVATE which meant that each focus message had an activate paired with it. The real fix here however is to not send the second NS_GOTFOCUS message. b=334551
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: