この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2009年5月)

2009年5月7日

Bug 6602 [IMM32] IMEがインストールされている環境だと、フォーカス移動でnsIMM32Handlerのインスタンスが生成される
初回投稿日時: 2009年05月07日17時41分11秒
カテゴリ: Mozilla Core バグ修正
SNS: (list)

Bug 6541の修正で、IME関連メッセージの処理をnsIMM32Handlerのインスタンスで処理するようになりましたが、インスタンスが必要無いメッセージの処理でもインスタンスを作成してしまうため、IMEがインストールされている環境では意図通りにメモリを削減できていない、というバグです。

IMEがインストールされていない環境であれば、WM_IME_*メッセージが来ないのですが、IMEを一度でもインストールしたことある環境だと例えIMEが使えないキーボードレイアウトに変更していたとしても、フォーカスを移動しただけでWM_IME_SETCONTEXTが送信されてインスタンスが生成されてしまっていました。例えば、TSFしか利用しない場合であってもインスタンスが生成されてしまっていた訳です。

この修正では一部のハンドラをstaticなメソッドとすることでインスタンスを生成せずに処理するように改善しています。

関連するかもしれないエントリ

bug 6602を含むエントリ