Bug-org 1140832 Cannot undo Input Method commit by Ctrl + BackSpace
初回投稿日時: 2015年03月26日18時00分18秒
カテゴリ: GTK Mozilla Core Mozilla39 バグ修正
SNS:
Tweet (list)
Bug-org 1065835のregressionにより、Linux上でMozcで確定後、Ctrl+Backspaceで確定アンドゥができないというバグです。
Bug-org 1065835の修正で、GTK版Geckoは、キャレットの移動時に逐一、gtk_im_context_reset()
を呼び出すようになりました。GTKのドキュメントによるとこれはIME側にとって期待される動作だと思われます(GTKのドキュメントが不明瞭で意見が分かれがち)。
Mozcは、確定アンドゥがキックされると、未確定文字列を生成する前に、直前に確定した範囲を自動選択し、未確定文字列で上書きしようとします。しかし、最初の自動選択の際にgtk_im_context_reset()
を呼び出すと、Mozcは始まっていない未確定状態をそのままキャンセルしてしまっていました。
Mozcの開発者や、Googleの湯川さんの話からも、IMEからのリクエストが原因で選択範囲が変更された場合には、gtk_im_context_reset()
を呼び出すべきではないという結論に至ったので、そのように修正しています。
現在、時期ESRである38での修正を申請中です。