From 52851464e0267795ffd688e3c769d9161011dba8 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 02 Oct 2008 13:48:29 -0400
Subject: [PATCH] - Fix race conditions when changing mailbox (set some env variables only when needed - no action or action==list)

---
 program/steps/mail/func.inc |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index b6de0b8..f2c4ea4 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -53,25 +53,26 @@
   $OUTPUT->set_env('search_text', $_SESSION['last_text_search']);
   }
 
-
-// set current mailbox in client environment
-$OUTPUT->set_env('mailbox', $IMAP->get_mailbox_name());
-$OUTPUT->set_env('quota', $IMAP->get_capability('quota'));
-$OUTPUT->set_env('delimiter', $IMAP->get_hierarchy_delimiter());
-
-if ($CONFIG['trash_mbox'])
-  $OUTPUT->set_env('trash_mailbox', $CONFIG['trash_mbox']);
-if ($CONFIG['drafts_mbox'])
-  $OUTPUT->set_env('drafts_mailbox', $CONFIG['drafts_mbox']);
-if ($CONFIG['junk_mbox'])
-  $OUTPUT->set_env('junk_mailbox', $CONFIG['junk_mbox']);
-
-if (!$OUTPUT->ajax_call)
-  rcube_add_label('checkingmail', 'deletemessage', 'movemessagetotrash', 'movingmessage');
-
-// set page title
+// set main env variables, labels and page title
 if (empty($RCMAIL->action) || $RCMAIL->action == 'list')
+  {
+  // set current mailbox in client environment
+  $OUTPUT->set_env('mailbox', $IMAP->get_mailbox_name());
+  $OUTPUT->set_env('quota', $IMAP->get_capability('quota'));
+  $OUTPUT->set_env('delimiter', $IMAP->get_hierarchy_delimiter());
+
+  if ($CONFIG['trash_mbox'])
+    $OUTPUT->set_env('trash_mailbox', $CONFIG['trash_mbox']);
+  if ($CONFIG['drafts_mbox'])
+    $OUTPUT->set_env('drafts_mailbox', $CONFIG['drafts_mbox']);
+  if ($CONFIG['junk_mbox'])
+    $OUTPUT->set_env('junk_mailbox', $CONFIG['junk_mbox']);
+
+  if (!$OUTPUT->ajax_call)
+    rcube_add_label('checkingmail', 'deletemessage', 'movemessagetotrash', 'movingmessage');
+
   $OUTPUT->set_pagetitle(rcmail_localize_foldername($IMAP->get_mailbox_name()));
+  }
 
 
 /**

--
Gitblit v1.9.1