Bug 3128 IMEでサーチバーへ入力中に確定前のフォーカス移動でクラッシュ
初回投稿日時: 2005年01月18日15時29分00秒
カテゴリ: Firefox
SNS:
Tweet (list)
今は、とりあえずなパッチで再現しなくなっているこの問題もようやく原因が分かった。 イベントの発生順序がまずいのだ。
Mozillaはエディタがフォーカスを失う際に、未確定文字列があると強制確定する。 つまり、フォーカスを失った後に未確定文字が確定され、入力のイベントが走る。 そのため、フォーカスを失うと同時にファイナライズしたのに、来るはずのない入力イベントがやってきて破綻していたのだ。
とりあえず、呼び出し前にフォーカスを失っていないかどうかのチェックを行うようにしたが、XULからのアクセスでもクラッシュしてしまうので、回避パッチはそのままにしてある。
もっと根本的な解決策として、フォーカス喪失寸前のイベントを作り、そこで強制確定を実行すべきだろう。 やるかどうかは別にして……