From 5f3c7e3920c36641466950d4e70a595d59376a88 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Tue, 14 Jan 2014 20:53:40 +0100 Subject: Make sure unread_children count (and class) on thread root is always updated when read status of a child row is changed --- program/js/app.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 3c547566d..e89e85e52 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -2054,7 +2054,6 @@ function rcube_webmail() if (preview && this.message_list && this.message_list.rows[id] && this.message_list.rows[id].unread && this.env.preview_pane_mark_read >= 0) { this.preview_read_timer = setTimeout(function() { ref.set_message(id, 'unread', false); - ref.update_thread_root(id, 'read'); if (ref.env.unread_counts[ref.env.mailbox]) { ref.env.unread_counts[ref.env.mailbox] -= 1; ref.set_unread_count(ref.env.mailbox, ref.env.unread_counts[ref.env.mailbox], ref.env.mailbox == 'INBOX'); @@ -2560,8 +2559,11 @@ function rcube_webmail() if (!row) return false; - if (flag == 'unread') + if (flag == 'unread') { + if (row.unread != status) + this.update_thread_root(uid, status ? 'unread' : 'read'); row.unread = status; + } else if(flag == 'deleted') row.deleted = status; else if (flag == 'replied') @@ -2849,9 +2851,6 @@ function rcube_webmail() this.set_message(a_uids[i], 'unread', (flag == 'unread' ? true : false)); this.http_post('mark', post_data, lock); - - for (i=0; i