プロジェクト

全般

プロフィール

バグ #1229

完了

特定のMessage Modelが表示される時クラッシュすることがある

toshi_a 初音 さんが6年以上前に追加. 6年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
プラグイン名:
ブランチ:
クラッシュする:
はい

説明

SystemMessageにiconメソッドが実装されていない。関係する場所を調べ、必要なところに実装する。

{{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:449:in `main_icon': undefined method `icon' for #<Mikutter::System::Message:0x0000558dd2888640> (NoMethodError)
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:493:in `block in render_main_icon_square'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:491:in `save'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:491:in `render_main_icon_square'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:486:in `render_main_icon'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:466:in `render_to_context'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:437:in `gen_pixmap'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:443:in `gen_pixbuf'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_miracle_painter.rb:126:in `pixbuf'
    from {{MIKUTTER_DIR}}/core/lib/uithreadonly.rb:22:in `block (2 levels) in singleton class'
    from {{MIKUTTER_DIR}}/core/mui/cairo_cell_renderer_message.rb:149:in `render_message'
    from {{MIKUTTER_DIR}}/core/mui/cairo_cell_renderer_message.rb:128:in `uri='
    from {{MIKUTTER_DIR}}/core/plugin/gtk/mainloop.rb:10:in `main'
    from {{MIKUTTER_DIR}}/core/plugin/gtk/mainloop.rb:10:in `mainloop'
    from {{MIKUTTER_DIR}}/mikutter.rb:68:in `boot!'
    from {{MIKUTTER_DIR}}/mikutter.rb:104:in `<main>'

ファイル

system_message_icon.diff (274 Bytes) system_message_icon.diff Akira Ouchi, 2018-05-07 15:24

再現手順

  1. 手順A
    1. 一晩放置していた
  2. 手順B
    1. Twitterアカウントを登録する
    2. そのTwitterアカウントを登録するのに使ったCKが凍結されるのを待つ
    3. 検索タブで任意のワードで検索する

関連するチケット

関連している 機能 #1205: 返信時にGtk::PostBoxがIntelligentTextviewを付加するための要件を緩和してほしい終了cob odo2018-04-12

操作
関連している バグ #1225: userメソッドを持たないMessageモデルを使うとmikutterがクラッシュする終了toshi_a 初音操作

Akira Ouchi さんが6年以上前に更新

ほかはまだ見てませんが、とりあえずSystemMessageにiconメソッドを実装するパッチをつくったので添付します。

toshi_a 初音 さんが6年以上前に更新

  • 再現手順 を更新 (差分)

toshi_a 初音 さんが6年以上前に更新

#1205#1225 では、Message Modelにuserメソッドがあるとも限らないと書いているが、実際にはuserメソッドはもともと必須とされている

一方でMessage#iconは規定がなく、User#iconは規定されているので、message.user.iconは必ず成功する前提で書き直したほうが良い。

toshi_a 初音 さんが6年以上前に更新

  • 関連している 機能 #1205: 返信時にGtk::PostBoxがIntelligentTextviewを付加するための要件を緩和してほしい を追加

toshi_a 初音 さんが6年以上前に更新

  • 関連している バグ #1225: userメソッドを持たないMessageモデルを使うとmikutterがクラッシュする を追加

toshi_a 初音 さんが6年以上前に更新

#1229-1
結局は俺が自分で決めた仕様を勘違いしていたのが原因だったので、このパッチではなく #1225 をほとんど打ち消すようなcommitをしました、すまんな

toshi_a 初音 さんが6年以上前に更新

  • ステータス実装待ち から 終了 に変更

二人は幸せなmergeをして終了

他の形式にエクスポート: Atom PDF