Bug-org 758420 Apostrophe followed by a letter creates two apostrophes
初回投稿日時: 2012年05月31日21時12分31秒
カテゴリ: Mac Mozilla Core Mozilla15 バグ修正
SNS:
Tweet (list)
Bug-org 677252の修正によるregressionです。
デッドキーで文字を入力した時に、アクセント記号とベース文字が適当な組み合わせではない場合、アクセント記号とベース文字、二文字として確定されます。
このケースの場合、Cocoaでは、insertText
が一文字ずつ2回呼び出され、二回目のキーのkeyDown
で渡されたイベントには二文字とも入っている、という不思議な状態になります。
原因となった修正ではkeypress
イベントの初期化を一カ所にまとめた際に、それまでのコードに従ってキーイベントの一文字目をkeypress
イベントのcharCode
に設定するようにしたため、's
と入力したい場合に'
と'
と入力されてしまうことになっていました。
修正方法は悩んだのですが、keypress
イベントの初期化時に予めcharCode
値が入っていた場合はその文字の入力イベントを初期化しろという指示だと受け取るように書き換えました。