Bug-org 1224454 [e10s][IMM][TSF] IMMHandler and TSFTextStore should clean up itself when focused widget being destroyed before NOTIFY_IME_OF_BLUR
初回投稿日時: 2015年11月21日18時37分59秒
カテゴリ: e10s IME Mozilla Core Mozilla45 TSF Windows バグ修正
SNS:
Tweet (list)
e10sモードで、Webコンテンツのエディタがフォーカスを持っている時にウインドウの×ボタンでウインドウを閉じてFirefoxを終了させると、NOTIFY_IME_OF_BLUR
が子プロセスのIMEContentObserver
から送信されても、親プロセスのTabParent::GetWidget()
が既にnullptr
を返してしまうため、適切なnsWindow
に通知することができないことが発覚しました。このため、IMEのイベントハンドラであるTSFTextStore
やIMMHandler
自身のインスタンスやそれが掴んでいる様々なオブジェクトが未解放のままプロセスが終了してしまい、メモリリークを起こしていたというバグです。
他のプラットフォームではIMEのイベントハンドラが関連するnsWindow
のDestroy()
の呼び出し時にきちんと解放していたのですが、Windowsだけはこれを行っていませんでした。