[sylpheed-jp:10040] Re: gtk_tree_view_column_set_sort_*: assertion failed

Hiroyuki Yamamoto hiro-y @ kcn.ne.jp
2006年 10月 19日 (木) 11:50:01 JST


山本です。

On Mon, 16 Oct 2006 17:43:40 +0900
"Atsushi SHICHI" <ats777 @ gmail.com> wrote:

> Vine Linux 3.2 で Sylpheed を利用させていただいています。
> 最近 sylpheed2-2.2.7-0vl1 から sylpheed2-2.2.9-0vl1 に上げたところ、
> 起動時に SEGV するようになりました。
> 
> --
> % rpm -q sylpheed2 gtk2 glib2
> sylpheed2-2.2.9-0vl1
> gtk2-2.4.13-0vl1.1
> glib2-2.4.7-0vl1
> % sylpheed
> 
> (sylpheed:4501): Gtk-CRITICAL **: file gtktreeviewcolumn.c: line 2399
> (gtk_tree_view_column_set_sort_indicator): assertion
> `GTK_IS_TREE_VIEW_COLUMN (tree_column)' failed
> zsh: segmentation fault  sylpheed
> --
> 
> --debug オプションを付けて起動すると、同様のメッセージが表示されます
> が SEGV しないので利用できます。
> また、~/.sylpheed-2.0/ を削除(リネーム)すると --debug オプションを
> 付けなくても起動します。
> 
> この問題は、~/.sylpheed-2.0/ 以下の特定のファイルの修正/削除だけで
> 対処できるものでしょうか?

GTK+ 2.4 のソースを調査してみたところ、クラッシュの原因と思われる箇所を
発見したので trunk で修正しました。 GTK+ 2.6 以降では問題ないはずです。

とりあえず以下のパッチを試してみてください。

--- src/summaryview.c   (revision 1244)
+++ src/summaryview.c   (working copy)
@@ -903,7 +903,7 @@
 
        if (gtk_tree_sortable_get_sort_column_id
                (GTK_TREE_SORTABLE(summaryview->store), &id, &order) &&
-           id < N_SUMMARY_VISIBLE_COLS) {
+           id >= 0 && id < N_SUMMARY_VISIBLE_COLS) {
                GtkTreeViewColumn *column = summaryview->columns[id];
                column->sort_column_id = -1;
                gtk_tree_view_column_set_sort_indicator(column, FALSE);


# さすがに GTK+ の 2.4, 2.6, 2.8, 2.10 すべてをサポートするのはしんどく
# なってきたので、2.3.0 あたりでそろそろ GTK+ 2.4 のサポートは切りたいと
# 思っているのですが…

-- 
Hiroyuki Yamamoto <hiro-y @ kcn.ne.jp>


Sylpheed-jp メーリングリストの案内