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固有の仕様です。