Bug-org 610829 Japanese IME: The textbox may move to a different window prior to commit
初回投稿日時: 2011年07月29日09時28分39秒
カテゴリ: Mozilla Core Mozilla8 バグ修正
SNS:
Tweet (list)
IMEの強制確定処理が、Firefoxのウインドウの切替で発生した場合にはうまく動かない、というバグです。
原因は、切替先のウインドウでアクティブなIMEのコンテキストが存在しない場合に、::ImmNotifyIME()
による強制確定処理が空振りに終わっていたことです。
このAPIが呼ばれる直前に、一時的にそのウインドウのデフォルトのコンテキストを与えるようにすることで修正しました。
また、今まではコンテキストをウインドウから切り離す際に、切り離したコンテキストを保存しておいて、それを再び関連づける、という形で処理していましたが、Win98/Win2000以降で使える::ImmAssociateContextEx()
APIが現在のGeckoのサポート状況だと利用できるので、こちらを使って常にデフォルトのコンテキストを割り当てるようになりました。このため、何らかのバグや、他のユーティリティの影響で保存していたコンテキストを万が一、失ってしまってもフォーカス移動だけで問題が解決するようになっています。このため、時々見かける、Firefoxを再起動するまでIMEが希に利用できなくなる、というバグを修正しているかもしれません。