From 179d0b37eed61edecb26149521e2a0d52f6c3719 Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Sun, 27 Feb 2011 19:53:40 +0000 Subject: [PATCH] Don't alter custom status attribute. Part of #7290. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40729 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/mail/mail_util.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/kits/mail/mail_util.cpp b/src/kits/mail/mail_util.cpp index 72d6e36fbf..e9289a347e 100644 --- a/src/kits/mail/mail_util.cpp +++ b/src/kits/mail/mail_util.cpp @@ -94,6 +94,15 @@ write_read_attr(BNode& node, read_flags flag) return B_ERROR; #if R5_COMPATIBLE + // manage the status string only if it currently has a "read" status + BString currentStatus; + if (node.ReadAttrString(B_MAIL_ATTR_STATUS, ¤tStatus) == B_OK) { + if (currentStatus.ICompare("New") != 0 + && currentStatus.ICompare("Read") != 0 + && currentStatus.ICompare("Seen") != 0) + return B_OK; + } + const char* statusString = (flag == B_READ) ? "Read" : (flag == B_SEEN) ? "Seen" : "New"; if (node.WriteAttr(B_MAIL_ATTR_STATUS, B_STRING_TYPE, 0, statusString,