Closed Bug 964623 Opened 7 years ago Closed 7 years ago
Text Store::Flush Pending Actions() shouldn't call On Layou Change() and On Selection Change()
Currently, nsTextStore::FlushPendingActions() calls ITextStoreACPSink::OnLayoutChange(), ITextStoreACPSink::OnSelectionChange() and ITfContextOwnerServices::OnLayoutChange(). However, they shouldn't be called during document locked since the method cannot lock our document with nsTextStore::RequestLock().
7 years ago
I don't find any difference of behavior of Japanese TIPs. But I believe that this is right fix. (RequestLock() is always refused on current build if TIP tries to do something at calling OnLayouChange())
Is the document lock always held whenever nsTextStore::OnStartComposition, nsTextStore::OnUpdateComposition and nsTextStore::OnEndComposition are called?
(In reply to Masatoshi Kimura [:emk] from comment #3) > Is the document lock always held whenever nsTextStore::OnStartComposition, > nsTextStore::OnUpdateComposition and nsTextStore::OnEndComposition are > called? I'm not sure since MSDN doesn't document it clearly. However, looks like that its counter part (TIP side) documents that it may return TS_E_NOLOCK. http://msdn.microsoft.com/en-us/library/windows/desktop/ms538713%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms538684%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms538675%28v=vs.85%29.aspx I created AutoPendingActionAndContentFlusher for safer handling, though.
Comment on attachment 8369865 [details] [diff] [review] Patch Looks good to me. At least this patch will fix the violation of ITextStoreACPSink::OnSelectionChange() document. http://msdn.microsoft.com/en-us/library/windows/desktop/ms538405%28v=vs.85%29.aspx > When calling this method, the application must be able to grant a document lock.
Attachment #8369865 - Flags: review?(VYV03354) → review+
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.