Project

General

Profile

バグ #1229

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

Added by toshi_a 初音 over 1 year ago. Updated over 1 year ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
プラグイン名:
ブランチ:
クラッシュする:
Yes

Description

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>'

Files

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. 検索タブで任意のワードで検索する

Related issues

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

Actions
Related to バグ #1225: userメソッドを持たないMessageモデルを使うとmikutterがクラッシュする終了Actions

Associated revisions

Revision 2ee74d6c (diff)
Added by toshi_a 初音 over 1 year ago

Message Modelに規定されていないiconメソッドを利用しない refs #1229

Message Modelにはuserメソッドは要求されるので、userの存在チェックは消した

History

#1

Updated by Akira Ouchi over 1 year ago

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

#2

Updated by toshi_a 初音 over 1 year ago

  • 再現手順 updated (diff)
#3

Updated by toshi_a 初音 over 1 year ago

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

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

#4

Updated by toshi_a 初音 over 1 year ago

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

Updated by toshi_a 初音 over 1 year ago

  • Related to バグ #1225: userメソッドを持たないMessageモデルを使うとmikutterがクラッシュする added
#6

Updated by toshi_a 初音 over 1 year ago

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

#7

Updated by toshi_a 初音 over 1 year ago

  • Status changed from 実装待ち to 終了

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

Also available in: Atom PDF