Bug-org 959999 [TSF] Clean up nsTextStore::Initialize()
初回投稿日時: 2014年01月29日21時24分07秒
カテゴリ: Mozilla Core Mozilla29 TSF Windows バグ修正
SNS:
Tweet (list)
プロセスが起動された初期段階で、nsTextStore::Initialize()
が呼び出され、TSFに必要なグローバルオブジェクトを取得、生成、初期化していくのですが、参照カウンタが絡んでいる関係で、途中でエラーが発生した場合のクリーンナップ処理等が非常に汚くなっていました。
この修正で、各種オブジェクトをそのままグローバル変数に取得せず、一旦、スタック上のnsRefPtr<T>
に取得し、エラーが発生したらそのままnsTextStore::Initialize()
からreturn
し、全てに成功した場合にのみ、nsRefPtr<T>
から、グローバル変数にポインタを保存しなおす、という形でシンプルにしています。