プロジェクト

全般

プロフィール

バグ #1078

Gtk::TreeIter が指す行の存在を確認していない箇所がある

toshi_a 初音3ヶ月前に追加.

ステータス:
新規
優先度:
通常
担当者:
-
対象バージョン:
プラグイン名:

説明

Gtk::TreeIter が指し示す行が存在しない場合を考慮していないため、 #1077 のような問題が発生した。
Gtk::TreeIterインスタンスの作成後に行が削除される可能性がある場合は、存在をチェックしなければならない。

潜在的には、Photo Modelのload_pixbufメソッドのような振る舞いをするメソッドを利用する箇所すべてを見直す必要がある。

source:core/mui/gtk_inneruserlist.rb#L37

      iter[COL_ICON] = user.icon.load_pixbuf(width: 24, height: 24){|pixbuf|
        iter[COL_ICON] = pixbuf unless destroyed?
      }

source:core/plugin/activity/model_selector.rb#L22

          iter[ICON] = record.icon.load_pixbuf(width: 24, height: 24) do |loaded_icon|
            iter[ICON] = loaded_icon
          end

source:core/plugin/shortcutkey/shortcutkey_listview.rb#L39

            iter[COLUMN_COMMAND_ICON] = icon.load_pixbuf(width: 16, height: 16){ |pixbuf|
              if not destroyed?
                iter[COLUMN_COMMAND_ICON] = pixbuf end } end end } end

source:core/plugin/shortcutkey/shortcutkey_listview.rb#L192

            iter[COL_ICON] = icon.load_pixbuf(width: 16, height: 16) do |pixbuf|
              iter[COL_ICON] = pixbuf if not destroyed?
            end

source:core/plugin/change_account/account_control.rb#24

      iter[COL_ICON] = service.user_obj.icon.load_pixbuf(width: 16, height: 16) { |new_pixbuf|
        iter[COL_ICON] = new_pixbuf if not self.destroyed? }


関連するチケット

関連している 致命的 #1077: Gtk-CRITICAL **: IA__gtk_list_store_set_value の出力を繰り返した後、特定の行でクラッシュする。終了2017-11-01

履歴

#1 toshi_a 初音3ヶ月前に更新

  • 関連している 致命的 #1077: Gtk-CRITICAL **: IA__gtk_list_store_set_value の出力を繰り返した後、特定の行でクラッシュする。 を追加

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