Bug-org 964623 [TSF] nsTextStore::FlushPendingActions() shouldn't call
OnLayouChange() and OnSelectionChange()
初回投稿日時: 2014年02月06日00時43分05秒
カテゴリ: Mozilla Core Mozilla30 TSF Windows バグ修正
SNS:
Tweet (list)
Bug-org 790516の修正時に、ドキュメントロック中にITextStoreACPSink::OnLayoutChange()
、ITextStoreACPSink::OnSelectionChange()
等の呼び出しが必要になった場合、ドキュメントの更新が完了してから呼び出しを行うようにしていましたが、この時に、nsTextStore
自体はロック状態のまま、これらを呼び出していたため、TIPがITextStoreACP::RequestLock()
を呼び出しても、nsTextStore
はロック済みであると返していたため、実質、TIPは何もできなくなっている、というバグです。
呼び出しをさらに遅らせて、本当にnsTextStore
がドキュメントをアンロックした場合に、始めて、呼び出すようになっています。ただし、read-writeロックが来て、さらにこれらの通知が必要な状況にされた場合にはネストして、若干奇妙な動作になりますが、そこはTIP側の責任、ということで今回は無視しています。
実際にこの修正で日本語のTIPの動作が改善するということは確認できていません(呼び出しても無反応なものばかり)。