diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-09-27 08:19:55 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2007-09-27 08:19:55 +0000 |
commit | a7102dc008b3526236fd976a63fb61816dde7ed3 (patch) | |
tree | eb910bfb03b44b9a01a101ecdb4393ef5c83b5d3 | |
parent | bce6f2354ef08244bf99f6cdccc2b83d17299280 (diff) |
fixed a bug that virtual folders were not sorted properly.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1916 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 5 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | libsylph/folder.c | 6 |
4 files changed, 15 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2007-09-27 + * libsylph/folder.c: folder_item_compare(): fixed a bug that virtual + folders were not sorted properly. + +2007-09-27 + * src/summaryview.[ch]: fixed the status label so that it will automatically resize when there is not enough width. diff --git a/ChangeLog.ja b/ChangeLog.ja index 0b4acd2b..3c3054df 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,5 +1,10 @@ 2007-09-27 + * libsylph/folder.c: folder_item_compare(): 仮想フォルダが正しく + ソートされないバグを修正。 + +2007-09-27 + * src/summaryview.[ch]: 十分な幅がない場合に自動的にリサイズするように ステータスラベルを修正。 @@ -8,6 +8,7 @@ Changes of Sylpheed * The previous focus is kept when separation of view is changed. * The status label is automatically resized now when there is not enough width. + * The bug that virtual folders were not sorted properly was fixed. * 2.4.6 (stable) diff --git a/libsylph/folder.c b/libsylph/folder.c index cb630521..ea8dbe6d 100644 --- a/libsylph/folder.c +++ b/libsylph/folder.c @@ -335,8 +335,10 @@ gint folder_item_compare(FolderItem *item_a, FolderItem *item_b) /* if both a and b are special folders, sort them according to * their types (which is in-order). Note that this assumes that - * there are no multiple folders of a special type. */ - if (item_a->stype != F_NORMAL && item_b->stype != F_NORMAL) + * there are no multiple folders of a special type. As a special + * case, two virtual folders are compared like normal ones. */ + if (item_a->stype != F_NORMAL && item_b->stype != F_NORMAL && + (item_a->stype != F_VIRTUAL || item_b->stype != F_VIRTUAL)) return item_a->stype - item_b->stype; /* if b is normal folder, and a is not, b is smaller (ends up |