Bug-org 552914 nsEditor::mFlags is never modified by SetFlags()
初回投稿日時: 2010年04月12日14時52分37秒
カテゴリ: Mozilla Core バグ修正
SNS:
Tweet (list)
エディタ内でフラグが二重に管理されていて、同期できていなかった(というかしていなかった)バグです。
ns*Editor
クラスは、実際の編集処理をns*EditRules
クラスに任せています。ns*EditRules
クラスは各ns*Editor
クラスのインスタンスの初期化時に行われますが、ここでフラグの内容がコピーされていました。しかし、nsIEditor::SetFlags()
が呼ばれてもns*EditorRules
への反映処理は全くありませんでした。
今回の修正でフラグは全てnsEditor
で保持するように一本化し、ns*EditRules
は逐一、nsEditor
に問い合わせるように修正しています。
またこのバグでコードを整理中に!flags & kFlagX
といったミスを発見しました。もちろんコメントでは!(flags & kFlagX)
を意図していました。この手のミスはありがちですし、コーディングルールの桁数制限上、非常に見づらいので全てのフラグの問い合わせがメソッドでできるように修正しています。