From 10934dcd2a6bdd8253cd0784b4da189e9d3ac7c6 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 10 Mar 2015 05:35:48 -0400
Subject: [PATCH] Fix rows count when messages search fails (#1490266)

---
 CHANGELOG                     |    1 +
 program/steps/mail/search.inc |    6 +++++-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1ae0a3a..62c4025 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -32,6 +32,7 @@
 - Fix storing signatures with big images in MySQL database (#1490306)
 - Fix Opera browser detection in javascript (#1490307)
 - Fix so search filter, scope and fields are reset on folder change
+- Fix rows count when messages search fails (#1490266)
 
 RELEASE 1.1.0
 -------------
diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc
index d88e575..02281e6 100644
--- a/program/steps/mail/search.inc
+++ b/program/steps/mail/search.inc
@@ -151,12 +151,14 @@
 // Get the headers
 if (!$result->incomplete) {
     $result_h = $RCMAIL->storage->list_messages($mbox, 1, $sort_column, rcmail_sort_order());
-    $count    = $RCMAIL->storage->count($mbox, $RCMAIL->storage->get_threading() ? 'THREADS' : 'ALL');
 }
 
 // Make sure we got the headers
 if (!empty($result_h)) {
+    $count = $RCMAIL->storage->count($mbox, $RCMAIL->storage->get_threading() ? 'THREADS' : 'ALL');
+
     rcmail_js_message_list($result_h, false);
+
     if ($search_str) {
         $OUTPUT->show_message('searchsuccessful', 'confirmation', array('nr' => $RCMAIL->storage->count(NULL, 'ALL')));
     }
@@ -172,6 +174,7 @@
 }
 // handle IMAP errors (e.g. #1486905)
 else if ($err_code = $RCMAIL->storage->get_error_code()) {
+    $count = 0;
     $RCMAIL->display_server_error();
 }
 // advice the client to re-send the (cross-folder) search request
@@ -180,6 +183,7 @@
     $OUTPUT->command('continue_search', $search_request);
 }
 else {
+    $count = 0;
     $OUTPUT->show_message('searchnomatch', 'notice');
     $OUTPUT->set_env('multifolder_listing', (bool)$result->multi);
     if ($result->multi && $scope == 'all') {

--
Gitblit v1.9.1