Bug-org 835262 [TSF] Should keep composition when we are deactivated
初回投稿日時: 2014年01月29日21時18分09秒
最終更新日時: 2014年01月29日21時42分51秒
カテゴリ: Mozilla Core Mozilla29 TSF Windows バグ修正
SNS:
Tweet (list)
TSFモードでも、未確定文字列が、Firefox自体がディアクティブになった際に、強制確定すべきではない、というバグです。
強制確定のトリガを引いていたのは、nsIMEStateManager
で、全てのウインドウがディアクティブになる際に、nsTextStateManager
を破棄していました。このため、nsTextStore
が、フォーカスを失ったという通知を受け、強制確定を行っていました。
今回の修正で、nsIMEUpdatePreference
に、NOTIFY_DURING_DEACTIVE
という値を追加し、nsTextStore
はこの値を含めて返すようにしました。これが設定されていると、nsIMEStateManager
は、ウインドウのディアクティベイト時にはnsTextStateManager
を破棄しないようになりました。これにより、nsTextStore
が、フォーカスを失ったという通知を受け取らなくなっています。
なお、MS-IMEは、WinXP以降、全てのバージョンで、TSF-awareアプリ上では、そのスレッドがフォーカスを失う際に自動的に強制確定するため、ウインドウがディアクティブになった際に確定されてしまうことに注意してください。これは、MS-IME固有の仕様です。