partial sync with 0.8.8 release
authorPaul Mangan <paul@claws-mail.org>
Thu, 26 Dec 2002 00:40:41 +0000 (00:40 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 26 Dec 2002 00:40:41 +0000 (00:40 +0000)
14 files changed:
ChangeLog
ChangeLog.claws
ChangeLog.jp
INSTALL
INSTALL.jp
README
README.jp
configure.in
src/codeconv.c
src/folder.c
src/folder.h
src/mainwindow.c
src/mh.c
src/summaryview.c

index 813ed1b936c5114c7c7bd1222f9307436a30ffde..54e79bdb2b4dcf6a730c5c74b58694f5810c5914 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2002-12-25
+
+       * version 0.8.8
+
+2002-12-25
+
+       * src/codeconv.c: conv_encode_header(): fixed a bug which will run
+         into infinite loop when encountering invalid characters.
+
+2002-12-25
+
+       * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
+         list.
+       * src/summaryview.c: summary_show(): removed summary_sort() because
+         it is done inside folder_item_get_msg_list(). This will improve
+         the performance of summary display.
+         Sorted out the summary sort functions using macros.
+       * src/mh.c
+         src/imap.c
+         src/news.c
+         src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
+         list if FolderItem::sort_key is set.
+         Added SORT_BY_TO to FolderSortKey enum.
+       * src/mainwindow.c: added "View/Sort/by recipient".
+
+2002-12-20
+
+       * version 0.8.7
+
 2002-12-20
 
        * src/codeconv.c: conv_encode_header(): fix for redundant space on
index e2259c0079c645bead3f6dd97f8cbab4ddedd78a..39c7e4966d5ed02a0dde24dd124d44ff7a893897 100644 (file)
@@ -1,3 +1,15 @@
+2002-12-26 [paul]      0.8.7claws10
+
+       * src/codeconv.c
+         src/mainwindow.c
+               sync with 0.8.8 release
+       
+       * src/folder.[ch]
+         src/mh.c
+         src/summaryview.c
+               partial sync with 0.8.8 release
+       
+
 2002-12-25 [alfons]    0.8.7claws9
 
        * src/matcher.[ch]
index 1411670704b59cc71f09cd29ec55de7a4621a333..a9fd61902746fa7d1bae14651b74045309daa6e8 100644 (file)
@@ -1,3 +1,32 @@
+2002-12-25
+
+       * version 0.8.8
+
+2002-12-25
+
+       * src/codeconv.c: conv_encode_header(): Ìµ¸ú¤Êʸ»ú¤¬¸½¤ï¤ì¤ë¤È̵¸Â
+         ¥ë¡¼¥×¤Ë´Ù¤ë¥Ð¥°¤ò½¤Àµ¡£
+
+2002-12-25
+
+       * src/procmsg.[ch]: procmsg_sort_msg_list(): ¿·µ¬¡£¥á¥Ã¥»¡¼¥¸¥ê¥¹¥È
+         ¤ò¥½¡¼¥È¤¹¤ë¡£
+       * src/summaryview.c: summary_show(): summary_sort() ¤òºï½ü
+         (folder_item_get_msg_list() ÆâÉô¤Ç¹Ô¤ï¤ì¤ë¤¿¤á)¡£¤³¤ì¤Ë¤è¤ê
+         ¥µ¥Þ¥êɽ¼¨¤Î®ÅÙ¤ò¸þ¾å¡£
+         ¥Þ¥¯¥í¤ò»È¤Ã¤Æ¥µ¥Þ¥ê¤Î¥½¡¼¥È´Ø¿ô¤òÀ°Íý¡£
+       * src/mh.c
+         src/imap.c
+         src/news.c
+         src/folder.[ch]: folder_item_get_msg_list(): FolderItem::sort_key
+         ¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤Ð¤¢¤é¤«¤¸¤á¥½¡¼¥È¤·¤¿¥ê¥¹¥È¤òÊÖ¤¹¤è¤¦¤Ë¤·¤¿¡£
+         FolderSortKey enum ¤Ë SORT_BY_TO ¤òÄɲá£
+       * src/mainwindow.c: ¡Öɽ¼¨/¥½¡¼¥È/°¸Àè½ç¡×¤òÄɲá£
+
+2002-12-20
+
+       * version 0.8.7
+
 2002-12-20
 
        * src/codeconv.c: conv_encode_header(): ²þ¹Ô»þ¤Î;ʬ¤Ê¶õÇò¤Î½¤Àµ¡£
diff --git a/INSTALL b/INSTALL
index 846bbe646611a0f503b074887665c4cc94edfa26..986b5bd37711844dd0852c8081cea14e85ba63e9 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -11,16 +11,15 @@ It is confirmed to work on the following environments:
 
 Linux
 
-o Debian GNU/Linux unstable (sid) (glibc 2.2.x)
-o Debian GNU/Linux testing (woody) (glibc 2.2.x)
+o Debian GNU/Linux unstable (sid) (glibc 2.3.x)
+o Debian GNU/Linux 3.0 (woody) (glibc 2.2.5)
 o Debian GNU/Linux 2.2 (potato) (glibc 2.1.3)
 o Kondara MNU/Linux (glibc 2.1.x)
 o Kondara MNU/Linux 1.2
 o Kondara MNU/Linux 2.0
 o Vine Linux 1.1 (glibc 2.0.x + libwcsmbs)
 o Vine Linux 2.0 (glibc 2.1.x) (Intel, PPC)
-o Vine Linux 2.1
-o Vine Linux 2.1.5
+o Vine Linux 2.1 / 2.1.5 / 2.5 / 2.6
 o Laser5 Linux 6.0 / 6.2 / 6.4 (glibc 2.1.x)
 o TurboLinux 4.0 (glibc 2.0.7 + libwcsmbs)
 o TurboLinux 6.0 (glibc 2.1.2)
@@ -41,9 +40,9 @@ o Linux for PPC Japanese Edition 3.0 (glibc 2.1.x)
 o LinuxPPC Q4 2000 (glibc 2.1.x)
 o Linux MLD4
 o Linux MLD5
-o Plamo Linux 2.0 / 2.1 / 2.2.x / 3.0-alpha
-o Slackware 7.0 / 7.1 / 8.0
-o Linux Mandrake 7.0 / 7.1 / 7.2 / 8.0 / 8.1
+o Plamo Linux 2.0 / 2.1 / 2.2.x / 3.0
+o Slackware 7.0 / 7.1 / 8.0 / 8.1
+o Linux Mandrake 7.0 / 7.1 / 7.2 / 8.0 / 8.1 / 9.0
 o SuSE Linux 6.3 (glibc 2.1.2)
 o SuSE Linux 6.4
 o SuSE Linux 7.0 / 7.1 / 7.2 / 7.3
@@ -75,7 +74,7 @@ o BSD/OS 4.0.1
 Other commercial Unix
 
 o Solaris 2.5 / 2.5.1 / 2.6
-o Solaris 7 / 8
+o Solaris 7 / 8 / 9
 o IRIX 6.3 / 6.4 / 6.5 6.5.8m
 o HP-UX 10.20 / 11.0 / 11i
 o Tru64 Unix 5.0 (OSF1 V5.0)
@@ -119,7 +118,7 @@ iconv(). You can obtain it from the following location:
 
   http://ghost.math.sci.hokudai.ac.jp/misc/libjconv/
 
-GnuPG (>= 1.0.7) and GPGME (>= 0.3.5) are required for GnuPG (PGP) support.
+GnuPG (>= 1.0.7) and GPGME (>= 0.3.10) are required for GnuPG (PGP) support.
 You can get GnuPG and GPGME from the following location:
 
   ftp://ftp.gnupg.org/pub/gcrypt/alpha/gpgme/
index 6062d39d34225ca9479c96bc117cb3d3aa8e067d..b38fb535befa69edee12382addaa71314e5b6cde 100644 (file)
 
 Linux
 
-o Debian GNU/Linux unstable (sid) (glibc 2.2.x)
-o Debian GNU/Linux testing (woody) (glibc 2.2.x)
+o Debian GNU/Linux unstable (sid) (glibc 2.3.x)
+o Debian GNU/Linux 3.0 (woody) (glibc 2.2.5)
 o Debian GNU/Linux 2.2 (potato) (glibc 2.1.3)
 o Kondara MNU/Linux (glibc 2.1.x)
 o Kondara MNU/Linux 1.2
 o Kondara MNU/Linux 2.0
 o Vine Linux 1.1 (glibc 2.0.x + libwcsmbs)
 o Vine Linux 2.0 (glibc 2.1.x) (Intel, PPC)
-o Vine Linux 2.1
-o Vine Linux 2.1.5
+o Vine Linux 2.1 / 2.1.5 / 2.5 / 2.6
 o Laser5 Linux 6.0 / 6.2 / 6.4 (glibc 2.1.x)
 o TurboLinux 4.0 (glibc 2.0.7 + libwcsmbs)
 o TurboLinux 6.0 (glibc 2.1.2)
@@ -40,9 +39,9 @@ o Linux for PPC Japanese Edition 3.0 (glibc 2.1.x)
 o LinuxPPC Q4 2000 (glibc 2.1.x)
 o Linux MLD4
 o Linux MLD5
-o Plamo Linux 2.0 / 2.1 / 2.2.x / 3.0-alpha
-o Slackware 7.0 / 7.1 / 8.0
-o Linux Mandrake 7.0 / 7.1 / 7.2 / 8.0 / 8.1
+o Plamo Linux 2.0 / 2.1 / 2.2.x / 3.0
+o Slackware 7.0 / 7.1 / 8.0 / 8.1
+o Linux Mandrake 7.0 / 7.1 / 7.2 / 8.0 / 8.1 / 9.0
 o SuSE Linux 6.3 (glibc 2.1.2)
 o SuSE Linux 6.4
 o SuSE Linux 7.0 / 7.1 / 7.2 / 7.3
@@ -75,7 +74,7 @@ o BSD/OS 4.0.1
 ¤½¤Î¾¾¦ÍÑ Unix
 
 o Solaris 2.5 / 2.5.1 / 2.6
-o Solaris 7 / 8
+o Solaris 7 / 8 / 9
 o IRIX 6.3 / 6.4 / 6.5 6.5.8m
 o HP-UX 10.20 / 11.0 / 11i
 o Tru64 Unix 5.0 (OSF1 V5.0)
@@ -119,7 +118,7 @@ Sylpheed 
 
   http://ghost.math.sci.hokudai.ac.jp/misc/libjconv/
 
-GnuPG (PGP)Âбþ¤òÍ­¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ GPGME 0.3.5 °Ê¹ß¤È GnuPG 1.0.7 °Ê¹ß¤¬
+GnuPG (PGP)Âбþ¤òÍ­¸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ GPGME 0.3.10 °Ê¹ß¤È GnuPG 1.0.7 °Ê¹ß¤¬
 É¬ÍפǤ¹¡£°Ê²¼¤Î¾ì½ê¤«¤é¼èÆÀ¤Ç¤­¤Þ¤¹:
 
   ftp://ftp.gnupg.org/pub/gcrypt/alpha/gpgme/
diff --git a/README b/README
index ab5e2402eece32d150165496d00353a43580e32d..e8129b766f316865f3b04ca46c35162a5322132f 100644 (file)
--- a/README
+++ b/README
@@ -54,6 +54,8 @@ Currently implemented features are:
        o X-Face support
        o multiple MH folder support
        o mbox importing / exporting
+       o remote operation by command line
+       o per-folder configuration
        o external editor support
        o message queueing
        o automatic mail checking
@@ -71,7 +73,7 @@ Currently implemented features are:
        o SSL support (POP3, SMTP, IMAP4rev1)
        o IPv6 support
        o drag & drop (partially implemented)
-       o GnuPG support (currently implementing)
+       o GnuPG support (currently in progress)
        o automake + autoconf support
        o internationalization of messages by gettext
        o support of many code sets, including UTF-8 (Unicode) (when using
index 571c6cd89cf3a54e5ef01b3cf18830e5fa0a7655..49064d4583da794bbc305b4cca0d39c76217ae68 100644 (file)
--- a/README.jp
+++ b/README.jp
@@ -72,6 +72,8 @@ Wanderlust 
        o X-Face Âбþ
        o Ê£¿ô¤Î MH ¥Õ¥©¥ë¥À¤ËÂбþ
        o mbox ¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥Ý¡¼¥È / ¥¨¥¯¥¹¥Ý¡¼¥È
+       o ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë¤è¤ë¥ê¥â¡¼¥ÈÁàºî
+       o ¥Õ¥©¥ë¥ÀËè¤ÎÀßÄê
        o ³°Éô¥¨¥Ç¥£¥¿Âбþ
        o Á÷¿®ÂÔµ¡µ¡Ç½
        o ¼«Æ°¥á¡¼¥ë¥Á¥§¥Ã¥¯µ¡Ç½
@@ -147,6 +149,26 @@ Wanderlust 
 
 °ìÈÌŪ¤Ê»ÈÍÑË¡¤Ë´Ø¤·¤Æ¤Ï¤³¤Î¥×¥í¥°¥é¥à¤ËÉÕ°¤Î¥Þ¥Ë¥å¥¢¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
 
+±£¤·ÀßÄê
+--------
+
+Sylpheed ¤Î¤Û¤È¤ó¤É¤Îµ¡Ç½¤ÏÀßÄê¥À¥¤¥¢¥í¥°¤«¤éÀßÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥æ¡¼¥¶¥¤¥ó¥¿
+¥Õ¥§¡¼¥¹¤ò»ý¤¿¤Ê¤¤ÀßÄê¹àÌܤ¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹(Ä̾ï¤ÏÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó)¡£
+Sylpheed ¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤È¤­¤Ë ~/.sylpheed/sylpheedrc ¤ò¥¨¥Ç¥£¥¿¤ÇÊÔ½¸
+¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+
+bold_font                      ¥Õ¥©¥ë¥À¡¢¥µ¥Þ¥ê¡¢¥Æ¥­¥¹¥È¥Ó¥å¡¼¤Ç»ÈÍѤµ¤ì¤ë
+                               ¥Ü¡¼¥ë¥É¥Õ¥©¥ó¥È
+small_font                     ¥µ¥Þ¥ê¥Ó¥å¡¼Åù¤Ç»ÈÍѤµ¤ì¤ë¾®¥Õ¥©¥ó¥È
+enable_hscrollbar              ¥µ¥Þ¥ê¥Ó¥å¡¼¤Ç¿åÊ¿¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÍ­¸ú¤Ë¤¹¤ë
+                               0: off  1: on   [¥Ç¥Õ¥©¥ë¥È: 1]
+bold_unread                    ¥µ¥Þ¥ê¥Ó¥å¡¼¤Ç̤ÆÉ¥á¥Ã¥»¡¼¥¸¤ò¥Ü¡¼¥ë¥É
+                               ¥Õ¥©¥ó¥È¤ò»ÈÍѤ·¤Æɽ¼¨
+                               0: off  1: on   [¥Ç¥Õ¥©¥ë¥È: 1]
+folderview_vscrollbar_policy   ¥Õ¥©¥ë¥À¥Ó¥å¡¼¤Î¿âľ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¥Ý¥ê¥·¡¼
+                               ¤ò»ØÄê
+                               0: ¾ï¤Ëɽ¼¨  1: ¼«Æ°  2: Èóɽ¼¨ [¥Ç¥Õ¥©¥ë¥È: 0]
+
 ¾ðÊó
 ====
 
index 37fa2838d95073bb061456e3c96af8de1bacc406..f87269c3b251f1e62602b7e6918ca3774c468128 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=7
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws9
+EXTRA_VERSION=claws10
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index aaddd2694314652cffb1aba7f7eb7b9405d41faa..123e5733a14906a22a285e8786c2f1608ab4d4ca 100644 (file)
@@ -1095,6 +1095,8 @@ void conv_encode_header(gchar *dest, gint len, const gchar *src,
        }
 
        cur_encoding = conv_get_current_charset_str();
+       if (!strcmp(cur_encoding, "US-ASCII"))
+               cur_encoding = "ISO-8859-1";
        out_encoding = conv_get_outgoing_charset_str();
        if (!strcmp(out_encoding, "US-ASCII"))
                out_encoding = "ISO-8859-1";
@@ -1144,15 +1146,22 @@ void conv_encode_header(gchar *dest, gint len, const gchar *src,
                                if (isspace(*p) && !is_next_nonascii(p + 1))
                                        break;
 
-                               mb_len = mblen(p, MB_CUR_MAX);
-                               if (mb_len < 0) {
-                                       g_warning("invalid multibyte character encountered\n");
-                                       break;
-                               }
+                               if (MB_CUR_MAX > 1) {
+                                       mb_len = mblen(p, MB_CUR_MAX);
+                                       if (mb_len < 0) {
+                                               g_warning("conv_encode_header(): invalid multibyte character encountered\n");
+                                               mb_len = 1;
+                                       }
+                               } else
+                                       mb_len = 1;
 
                                Xstrndup_a(part_str, srcp, cur_len + mb_len, );
                                out_str = conv_codeset_strdup
                                        (part_str, cur_encoding, out_encoding);
+                               if (!out_str) {
+                                       g_warning("conv_encode_header(): code conversion failed\n");
+                                       out_str = g_strdup(out_str);
+                               }
                                out_str_len = strlen(out_str);
 
                                if (use_base64)
@@ -1179,6 +1188,10 @@ void conv_encode_header(gchar *dest, gint len, const gchar *src,
                                Xstrndup_a(part_str, srcp, cur_len, );
                                out_str = conv_codeset_strdup
                                        (part_str, cur_encoding, out_encoding);
+                               if (!out_str) {
+                                       g_warning("conv_encode_header(): code conversion failed\n");
+                                       out_str = g_strdup(out_str);
+                               }
                                out_str_len = strlen(out_str);
 
                                if (use_base64)
index 962fd209957cf6ccbd7ba2f7ad9e495132113bba..85aae92c89baaa913de33a1dc34cf09d1de21e08 100644 (file)
@@ -2245,6 +2245,8 @@ static gboolean folder_build_tree(GNode *node, gpointer data)
                                sort_key = SORT_BY_UNREAD;
                        else if (!strcmp(attr->value, "mime"))
                                sort_key = SORT_BY_MIME;
+                       else if (!strcmp(attr->value, "to"))
+                               sort_key = SORT_BY_TO;
                        else if (!strcmp(attr->value, "locked"))
                                sort_key = SORT_BY_LOCKED;
                } else if (!strcmp(attr->name, "sort_type")) {
@@ -2400,7 +2402,8 @@ static void folder_write_list_recursive(GNode *node, gpointer data)
                                                 "draft", "queue", "trash"};
        static gchar *sort_key_str[] = {"none", "number", "size", "date",
                                        "from", "subject", "score", "label",
-                                       "mark", "unread", "mime", "locked" };
+                                       "mark", "unread", "mime", "to", 
+                                       "locked"};
        g_return_if_fail(node != NULL);
        g_return_if_fail(fp != NULL);
 
index 3472aa9d8badf151ce85a92395092f927c235784..2b12de6d6078378957292e69aad017a43b99912b 100644 (file)
@@ -90,6 +90,7 @@ typedef enum
        SORT_BY_MARK,
        SORT_BY_UNREAD,
        SORT_BY_MIME,
+       SORT_BY_TO,
        SORT_BY_LOCKED
 } FolderSortKey;
 
index da6e941557cf6e36622406a587c4f560be5ff39b..bf29aea331528a2a2f7a3c5a1080d3cc1648667f 100644 (file)
@@ -452,6 +452,7 @@ static GtkItemFactoryEntry mainwin_entries[] =
        {N_("/_View/_Sort/by s_ize"),           NULL, sort_summary_cb, SORT_BY_SIZE, "/View/Sort/by number"},
        {N_("/_View/_Sort/by _date"),           NULL, sort_summary_cb, SORT_BY_DATE, "/View/Sort/by number"},
        {N_("/_View/_Sort/by _from"),           NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by number"},
+       {N_("/_View/_Sort/by _recipient"),      NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by number"},
        {N_("/_View/_Sort/by _subject"),        NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by number"},
        {N_("/_View/_Sort/by _color label"),
                                                NULL, sort_summary_cb, SORT_BY_LABEL, "/View/Sort/by number"},
@@ -1599,6 +1600,8 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                menu_path = "/View/Sort/by date"; break;
        case SORT_BY_FROM:
                menu_path = "/View/Sort/by from"; break;
+       case SORT_BY_TO:
+               menu_path = "/View/Sort/by recipient"; break;
        case SORT_BY_SUBJECT:
                menu_path = "/View/Sort/by subject"; break;
        case SORT_BY_LABEL:
index 7b9d47c2d256d8a87ebdd16a18f8f234923619cc..be3a0cb97e88f8395870f9b035df19e9dc861017 100644 (file)
--- a/src/mh.c
+++ b/src/mh.c
@@ -1037,7 +1037,7 @@ static GSList *mh_get_uncached_msgs(GHashTable *msg_table, FolderItem *item)
                return NULL;
        }
 
-       debug_print("\tSearching uncached messages... ");
+       debug_print("Searching uncached messages...\n");
 
        if (msg_table) {
                while ((d = readdir(dp)) != NULL) {
@@ -1098,7 +1098,7 @@ static GSList *mh_get_uncached_msgs(GHashTable *msg_table, FolderItem *item)
 
        /* sort new messages in numerical order */
        if (newlist) {
-               debug_print("\tSorting uncached messages in numerical order... ");
+               debug_print("Sorting uncached messages in numerical order...\n");
                newlist = g_slist_sort
                        (newlist, (GCompareFunc)procmsg_cmp_msgnum_for_sort);
                debug_print("done.\n");
index 3d40b25cab8cf44de43483fe94821b8903a9ba8c..155e25ee94ddb40d04233625824b04a1e5c2b79e 100644 (file)
@@ -361,22 +361,25 @@ static gint summary_cmp_by_date           (GtkCList               *clist,
 static gint summary_cmp_by_from                (GtkCList               *clist,
                                         gconstpointer           ptr1,
                                         gconstpointer           ptr2);
-static gint summary_cmp_by_to          (GtkCList               *clist,
-                                        gconstpointer           ptr1, 
-                                        gconstpointer           ptr2);
 static gint summary_cmp_by_subject     (GtkCList               *clist,
                                         gconstpointer           ptr1,
                                         gconstpointer           ptr2);
 static gint summary_cmp_by_simplified_subject
-       (GtkCList *clist, gconstpointer ptr1, gconstpointer ptr2);
+                                       (GtkCList               *clist, 
+                                        gconstpointer           ptr1, 
+                                        gconstpointer           ptr2);
 static gint summary_cmp_by_score       (GtkCList               *clist,
                                         gconstpointer           ptr1,
                                         gconstpointer           ptr2);
-static gint summary_cmp_by_locked      (GtkCList *clist,
-                                        gconstpointer ptr1, gconstpointer ptr2);
 static gint summary_cmp_by_label       (GtkCList               *clist,
                                         gconstpointer           ptr1,
                                         gconstpointer           ptr2);
+static gint summary_cmp_by_to          (GtkCList               *clist,
+                                        gconstpointer           ptr1,
+                                        gconstpointer           ptr2);
+static gint summary_cmp_by_locked      (GtkCList               *clist,
+                                        gconstpointer           ptr1, 
+                                        gconstpointer           ptr2);
 
 static void news_flag_crosspost                (MsgInfo *msginfo);
 
@@ -2046,10 +2049,7 @@ void summary_sort(SummaryView *summaryview,
                cmp_func = (GtkCListCompareFunc)summary_cmp_by_date;
                break;
        case SORT_BY_FROM:
-               if (summaryview->folder_item && summaryview->folder_item->stype != F_OUTBOX)
-                       cmp_func = (GtkCListCompareFunc) summary_cmp_by_from;
-               else                    
-                       cmp_func = (GtkCListCompareFunc) summary_cmp_by_to;
+               cmp_func = (GtkCListCompareFunc)summary_cmp_by_from;
                break;
        case SORT_BY_SUBJECT:
                if (summaryview->simplify_subject_preg)
@@ -2060,12 +2060,15 @@ void summary_sort(SummaryView *summaryview,
        case SORT_BY_SCORE:
                cmp_func = (GtkCListCompareFunc)summary_cmp_by_score;
                break;
-       case SORT_BY_LOCKED:
-               cmp_func = (GtkCListCompareFunc)summary_cmp_by_locked;
-               break;
        case SORT_BY_LABEL:
                cmp_func = (GtkCListCompareFunc)summary_cmp_by_label;
                break;
+       case SORT_BY_TO:
+               cmp_func = (GtkCListCompareFunc)summary_cmp_by_to;
+               break;
+       case SORT_BY_LOCKED:
+               cmp_func = (GtkCListCompareFunc)summary_cmp_by_locked;
+               break;
        case SORT_BY_NONE:
                cmp_func = NULL;
                return;