操作
バグ #1457
完了存在しないコマンドのショートカットキーを更新しようとするとクラッシュする
プラグイン名:
クラッシュする:
はい
説明
存在しないコマンドのショートカットキー設定を編集して保存しようとするとクラッシュします。こういうショートカットキーは、サードパーティプラグインのコマンドにショートカットキーを割り当てた後、そのプラグインを削除すると作ることができます。
スタックトレース:
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>'
toshi_a 初音 さんが4年以上前に更新
- ステータス を 分類待ち から 実装待ち に変更
- 担当者 を toshi_a 初音 にセット
- クラッシュする を いいえ から はい に変更
再現しました
toshi_a 初音 さんが4年以上前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- 担当者 を toshi_a 初音 から Osamu Koga に変更
- ブランチ を topic/1457-fix-shortcutkey-validation にセット
修正したので、良さそうだったら release/4.1 にmergeしちゃってください
Osamu Koga さんが4年以上前に更新
- ステータス を レビュー待ち から マージ待ち に変更
直ってるのを確認しました。
コマンドが消滅してる場合はもっと明確に通知してほしい気もしますが、どういう見せ方が適切なのかは一考の余地がある(そもそも編集開始した時点でアラート出してほしいとか、もっと言えば起動時に通知してほしいとか)ので、このチケットでは深追いしないことにします。なんか思いついたらチケット作ります。
操作