致命的 #901
closedGtk::PostBox#destroy_if_necessary を削除されたオブジェクトをターゲットに呼ぶとクラッシュすることがある
0%
Description
報告のあったバージョンは3.5.0-developだったが、その箇所は0.0.3.571が最後の変更だったので、3.3で修正しておく。
mikutter-uwm-hommageプラグインがこのメソッドをアラウンドエイリアスしているが、このプラグインの有無は関係なさそう。
Gtkオブジェクトが削除されたかどうかを厳密に検査していないのが問題なので、destroyed?の結果も確認するようにするだけでいいはず
バックトレース
TypeError destroyed GLib::Objectrbgobject.c:362:in `focus?'
{MIKUTTER_DIR}/core/mui/gtk_postbox.rb:267:in `block in destroy_if_necessary'
{MIKUTTER_DIR}/core/mui/gtk_postbox.rb:267:in `any?'
{MIKUTTER_DIR}/core/mui/gtk_postbox.rb:267:in `destroy_if_necessary'
~/.mikutter/plugin/mikutter-uwm-hommage/postbox.rb:147:in `destroy_if_necessary'
{MIKUTTER_DIR}/core/mui/gtk_postbox.rb:314:in `block in focus_out_event'
{MIKUTTER_DIR}/vendor/bundle/ruby/2.3.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `run'
{MIKUTTER_DIR}/vendor/bundle/ruby/2.3.0/gems/delayer-0.0.2/lib/delayer/extend.rb:58:in `run_once'
{MIKUTTER_DIR}/vendor/bundle/ruby/2.3.0/gems/delayer-0.0.2/lib/delayer/extend.rb:30:in `run'
{MIKUTTER_DIR}/vendor/bundle/ruby/2.3.0/gems/delayer-0.0.2/lib/delayer.rb:43:in `method_missing'
{MIKUTTER_DIR}/core/plugin/gtk/delayer.rb:10:in `block in boot'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `main'
{MIKUTTER_DIR}/core/plugin/gtk/mainloop.rb:10:in `mainloop'
./mikutter.rb:63:in `boot!'
./mikutter.rb:92:in `<main>'
再現手順
不明(クラッシュレポートより報告があった)