From bbce9f5a2e000b445a4b6bd72dd40dec5f9ddeb8 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 03 Jun 2014 06:30:43 -0400
Subject: [PATCH] Fix so message list and counters are updated when a message is opened in new window (#1489919)

---
 program/steps/mail/show.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 9498d1d..1616eb6 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -148,11 +148,14 @@
     if (empty($MESSAGE->headers->flags['SEEN'])
         && ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($RCMAIL->config->get('preview_pane_mark_read')) == 0))
     ) {
+        $RCMAIL->output->command('set_unread_message', $MESSAGE->uid, $mbox_name);
         $RCMAIL->plugins->exec_hook('message_read', array(
             'uid'     => $MESSAGE->uid,
             'mailbox' => $mbox_name,
             'message' => $MESSAGE,
         ));
+
+        $set_seen_flag = true;
     }
 }
 
@@ -174,9 +177,7 @@
 
 
 // mark message as read
-if ($MESSAGE && $MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN']) &&
-    ($RCMAIL->action == 'show' || ($RCMAIL->action == 'preview' && intval($RCMAIL->config->get('preview_pane_mark_read')) == 0))
-) {
+if (!empty($set_seen_flag)) {
     if ($RCMAIL->storage->set_flag($MESSAGE->uid, 'SEEN')) {
         if ($count = rcmail_get_unseen_count($mbox_name)) {
             rcmail_set_unseen_count($mbox_name, $count - 1);

--
Gitblit v1.9.1