Actions
バグ #1457
closed存在しないコマンドのショートカットキーを更新しようとするとクラッシュする
プラグイン名:
クラッシュする:
Yes
Description
存在しないコマンドのショートカットキー設定を編集して保存しようとするとクラッシュします。こういうショートカットキーは、サードパーティプラグインのコマンドにショートカットキーを割り当てた後、そのプラグインを削除すると作ることができます。
スタックトレース:
NoMethodError undefined method `[]' for nil:NilClass {MIKUTTER_DIR}/plugin/shortcutkey/shortcutkey_listview.rb:205:in `name_of' {MIKUTTER_DIR}/plugin/shortcutkey/shortcutkey_listview.rb:173:in `update_iter' {MIKUTTER_DIR}/plugin/shortcutkey/shortcutkey_listview.rb:186:in `merge_key_bind' {MIKUTTER_DIR}/plugin/shortcutkey/shortcutkey_listview.rb:120:in `on_updated' {MIKUTTER_DIR}/core/mui/gtk_crud.rb:143:in `force_record_update' {MIKUTTER_DIR}/core/mui/gtk_crud.rb:163:in `block in record_update' {MIKUTTER_DIR}/core/mui/gtk_crud.rb:160:in `selected_each' {MIKUTTER_DIR}/core/mui/gtk_crud.rb:160:in `record_update' {MIKUTTER_DIR}/core/mui/gtk_crud.rb:39:in `block in update_button' {MIKUTTER_DIR}/core/mui/gtk_extension.rb:35:in `block in safety_signal_connect' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:18:in `main_iteration' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:18:in `block (2 levels) in mainloop' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:12:in `loop' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:12:in `block in mainloop' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:10:in `catch' {MIKUTTER_DIR}/plugin/gtk/mainloop.rb:10:in `mainloop' mikutter.rb:81:in `boot!' mikutter.rb:117:in `<main>'
Updated by toshi_a 初音 over 4 years ago
- Status changed from 分類待ち to 実装待ち
- Assignee set to toshi_a 初音
- クラッシュする changed from No to Yes
再現しました
Updated by toshi_a 初音 over 4 years ago
新規作成でコマンドを選ばなかった時同様、「コマンドを選択してください」というアラートダイアログを表示する
Updated by toshi_a 初音 over 4 years ago
- Status changed from 実装待ち to レビュー待ち
- Assignee changed from toshi_a 初音 to Osamu Koga
- ブランチ set to topic/1457-fix-shortcutkey-validation
修正したので、良さそうだったら release/4.1 にmergeしちゃってください
Updated by Osamu Koga over 4 years ago
- Status changed from レビュー待ち to マージ待ち
直ってるのを確認しました。
コマンドが消滅してる場合はもっと明確に通知してほしい気もしますが、どういう見せ方が適切なのかは一考の余地がある(そもそも編集開始した時点でアラート出してほしいとか、もっと言えば起動時に通知してほしいとか)ので、このチケットでは深追いしないことにします。なんか思いついたらチケット作ります。
Actions