バグ #1537
完了
gtk3: Plugin::GUI::Timelineのdestroyが呼び出されていない (gui_destroyイベントで飛んでこない)
Shibafu Midorino さんが約3年前に追加.
ほぼ3年前に更新.
説明
Timelineを含む一時タブを削除した時にPlugin::GUI::Timelineのgui_destroyイベントが飛んできていません。どうも実態が削除された時にimaginaryのdestroyをきちんと呼び出せていないような感じがします。
このイベントが呼ばれないことによって、具体的には user_detail_view プラグインが動作不良を起こすことを確認しています。
再現手順
1. twitter userのプロフィールタブを開く
2. 1で開いたタブを閉じる
3. mikutterを終了する
4. mikutterを再起動すると2で閉じたはずのタブが生き返っている
- ステータス を 実装待ち から レビュー待ち に変更
- 再現手順 を更新 (差分)
- ブランチ を topic/1537-timeline-destroy にセット
修正しました。
GTK2版ではInnerTLのdestroyシグナルハンドラでimaginaryのdestroyを呼んでいたのが、GTK3版ではPlugin::Gtk3::Timeline内のListBoxのdestroyシグナルハンドラになっていたのですが、このハンドラは何故か一生実行されないので親であるPlugin::Gtk3::Timeline自体にハンドラをconnectしておきました。
再現手順にはとりあえずこの問題を発見した時の操作手順を書いておきましたが、これだと見れる人が限られるような…
- ステータス を レビュー待ち から マージ待ち に変更
develop相当で git merge topic/1537-timeline-destroy して再現手順を試して
閉じたタブが蘇らないことを確認しました。
他の形式にエクスポート: Atom
PDF