Closed Bug 336365 Opened 18 years ago Closed 18 years ago

Patch from 332579 breaks Unicode keyboard input

Categories

(Core Graveyard :: Widget: Mac, defect)

1.8 Branch
PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: shaver, Assigned: mark)

References

Details

With U.S. Extended, I cannot type letters or numbers.  Also, keyboard shortcuts don't so much with the working.

With U.S., I am free to express myself alphanumerically.
The TSM handlers need to be installed after the catch-all transitional handler.  Updated patch in bug 332579.
Related-ish problems still present:

Some double-double-processing of events is back again.  Testcase: enter javascript:alert("alert"); in the URL bar and press return.  Expect the alert sheet to be dismissed.  It is, but it's replaced by another one immediately.  (Two return events were processed, possibly one by the TSM ae handler and the other by the MacPump ce handler - is the ae handler not swallowing when it should?)

-----

Press Escape to dismiss the sheet for real.  Now try to close the window with command-W (a Unicode keyboard layout must be selected like US Extended).  The window seems to have other plans.  You get this output:

###!!! ASSERTION: nsMacEventHandler::ConvertKeyEventToUnicode: UpgradeScriptInfoToTextEncoding failed.: 'err == noErr', file /Users/mark lizard/firefox-1503/mozilla/widget/src/mac/nsMacEventHandler.cpp, line 977
###!!! ASSERTION: nsMacEventHandler::InitializeKeyEvent: ConvertKeyEventToUnicode returned 0.: '0 != aKeyEvent.charCode', file /Users/mark/lizard/firefox-1503/mozilla/widget/src/mac/nsMacEventHandler.cpp, line 864

When the sheet is up, a new appshell is running the loop.  When that appshell disappears, it takes the TSM singleton out with it.  Something needs to enforce that only the root MacPump owns the TSM singleton (possibly by making the MacPump itself a singleton.)  Alternatively, we could just leak the TSM singleton - that's what the old code did.
Comment 2 fixed in bug 332579v8.
Comment 0 and comment 2 part 2 are fixed.  Comment 2 part 1 is worked around, but the real problem is bug 337199.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.