From f68d43d27735b9564d1214f1e3ac6efaaa973b6b Mon Sep 17 00:00:00 2001 From: Yuri Gorshenin Date: Wed, 30 Aug 2017 18:13:32 +0300 Subject: [PATCH] [search] OnStarted() is always called when set. --- search/engine.cpp | 13 ------------- search/processor.cpp | 18 +++++++++++++++--- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/search/engine.cpp b/search/engine.cpp index fba1faf0a3..9469754749 100644 --- a/search/engine.cpp +++ b/search/engine.cpp @@ -237,19 +237,6 @@ void Engine::DoSearch(SearchParams const & params, m2::RectD const & viewport, handle->Detach(); }); - // Early exit when query processing is cancelled. - if (processor.IsCancelled()) - { - Results results; - results.SetEndMarker(true /* isCancelled */); - - if (params.m_onResults) - params.m_onResults(results); - else - LOG(LERROR, ("OnResults is not set.")); - return; - } - processor.Search(params, viewport); } } // namespace search diff --git a/search/processor.cpp b/search/processor.cpp index dd26925b2e..a0e3064c1f 100644 --- a/search/processor.cpp +++ b/search/processor.cpp @@ -423,6 +423,21 @@ void Processor::ForEachCategoryTypeFuzzy(StringSliceBase const & slice, ToDo && void Processor::Search(SearchParams const & params, m2::RectD const & viewport) { + if (params.m_onStarted) + params.m_onStarted(); + + if (IsCancelled()) + { + Results results; + results.SetEndMarker(true /* isCancelled */); + + if (params.m_onResults) + params.m_onResults(results); + else + LOG(LERROR, ("OnResults is not set.")); + return; + } + SetMode(params.m_mode); bool const viewportSearch = m_mode == Mode::Viewport; @@ -464,9 +479,6 @@ void Processor::Search(SearchParams const & params, m2::RectD const & viewport) try { - if (params.m_onStarted) - params.m_onStarted(); - SearchCoordinates(); if (viewportSearch)