Bug-org 1187351 [e10s][TSF] TSFTextStore::GetTextExt() shouldn't return TS_E_NOLAYOUT after notifying TSF of layout change
初回投稿日時: 2015-07-26 15:02:30
カテゴリ: e10s IME Mozilla Core Mozilla42 TSF Windows バグ修正
SNS:
Tweet (list)
TSFTextStoreはNOTIFY_IME_OF_POSITION_CHANGEを受け取った際に、ITextStoreACPSink::OnLayoutChange()を呼び出すことがありますが、この際に、キャッシュしているコンテンツのレイアウトが不確定な最初の文字のオフセットをリセットしていませんでした。そのため、TSFやTIPからすると、レイアウトの計算が終わったと通知が来たのに、ITextStoreACP::GetTextExt()を呼び出してみたら、まだだって言われる、という状況に陥っていました。
今回の修正で、ITextStoreACPSink::OnLayoutChange()を呼び出す前に、mLockedContentのmMinTextModifiedOffsetをNOT_MODIFIEDにリセットすることでこの現象が発生しないようにしています。