この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2012年12月)

2012年12月18日

Bug-org 819404 [TSF] Some methods of nsTextStore checks read lock, however, MSDN documents they don't allow to work without read-ONLY lock
初回投稿日時: 2012年12月18日23時12分50秒
カテゴリ: Mozilla Core Mozilla20 TSF Windows バグ却下
SNS: (list)

MSDNでTSFのITextStoreACPのメソッドのリファレンスを読んでいると、GetSelection()等のコンテンツ情報取得系のメソッドは、Readロックではなく、Read-Onlyロックをかけた上でアクセスするように書かれていることに気付きました。

呼び出し側からこの違いは非常に小さいことのように思えますが、実装側からすると、Read-Writeロック中に、変更されたコンテンツに、こういったメソッドで情報にアクセスできなくなる、ということになりますので、実装を非常に単純化できます。

このため、試しにRead-Onlyロックでなければアクセス出来ないように修正してみたところ、ATOK 2013も、Windows8のMS-IMEでも、Read-Writeロックで平然とアクセスしてきて、正常に動作しなくなりました。このため、この修正は断念しています。

とりあえず、両社には連絡すべきかなと考えていますが、現実的に考えればMSDNが修正されるべきかなという感じもします。

関連するかもしれないエントリ

bug-org 819404を含むエントリ