diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-06-04 10:06:10 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-06-04 10:06:10 +0000 |
| commit | 316a5f9d2688f8017de9190ab0f93a33deb3efcd (patch) | |
| tree | 2852a0771889de209566a8782de800e78b5d961e /roundcubemail/program/include/rcube_imap_generic.php | |
| parent | 986d9b9b9f0e8bda0fdbe5e968f3fc0fc9731f03 (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.php | 9 |
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'; |
