summaryrefslogtreecommitdiff
path: root/program/lib/Roundcube/rcube_imap.php
diff options
context:
space:
mode:
Diffstat (limited to 'program/lib/Roundcube/rcube_imap.php')
-rw-r--r--program/lib/Roundcube/rcube_imap.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/program/lib/Roundcube/rcube_imap.php b/program/lib/Roundcube/rcube_imap.php
index 23cacd4d2..5c30327a1 100644
--- a/program/lib/Roundcube/rcube_imap.php
+++ b/program/lib/Roundcube/rcube_imap.php
@@ -988,6 +988,10 @@ class rcube_imap extends rcube_storage
$a_msg_headers = array_slice(array_values($a_msg_headers), $from, $slice_length);
}
else {
+ if ($this->sort_order != $search_set->get_parameters('ORDER')) {
+ $search_set->revert();
+ }
+
// slice resultset first...
$fetch = array();
foreach (array_slice($search_set->get(), $from, $slice_length) as $msg_id) {
@@ -1708,7 +1712,7 @@ class rcube_imap extends rcube_storage
}
// decode combined UID-folder identifier
- if (preg_match('/^\d+-[^,]+$/', $uid)) {
+ if (preg_match('/^\d+-.+/', $uid)) {
list($uid, $folder) = explode('-', $uid, 2);
}
@@ -1744,7 +1748,7 @@ class rcube_imap extends rcube_storage
}
// decode combined UID-folder identifier
- if (preg_match('/^\d+-[^,]+$/', $uid)) {
+ if (preg_match('/^\d+-.+/', $uid)) {
list($uid, $folder) = explode('-', $uid, 2);
}