summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_imap_generic.php
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-06-04 10:06:10 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2010-06-04 10:06:10 +0000
commit316a5f9d2688f8017de9190ab0f93a33deb3efcd (patch)
tree2852a0771889de209566a8782de800e78b5d961e /roundcubemail/program/include/rcube_imap_generic.php
parent986d9b9b9f0e8bda0fdbe5e968f3fc0fc9731f03 (diff)
- performance improvement: we can skip THREAD when folder is empty
git-svn-id: https://svn.roundcube.net/trunk@3713 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_imap_generic.php')
-rw-r--r--roundcubemail/program/include/rcube_imap_generic.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/roundcubemail/program/include/rcube_imap_generic.php b/roundcubemail/program/include/rcube_imap_generic.php
index ab37902ae..411e1d396 100644
--- a/roundcubemail/program/include/rcube_imap_generic.php
+++ b/roundcubemail/program/include/rcube_imap_generic.php
@@ -1552,8 +1552,15 @@ class rcube_imap_generic
function thread($folder, $algorithm='REFERENCES', $criteria='', $encoding='US-ASCII')
{
+ $old_sel = $this->selected;
+
if (!$this->select($folder)) {
- return false;
+ return false;
+ }
+
+ // return empty result when folder is empty and we're just after SELECT
+ if ($old_sel != $folder && !$this->exists) {
+ return array(array(), array(), array());
}
$encoding = $encoding ? trim($encoding) : 'US-ASCII';