From 5d71536bb16bcb21f386e0f5e2a23c074ae93d57 Mon Sep 17 00:00:00 2001 From: Eberhard Graether Date: Tue, 19 Apr 2016 12:38:03 +0200 Subject: [PATCH] logic: Fixed sorting of search results and crash in undo redo controller --- src/lib/component/controller/UndoRedoController.cpp | 5 +++++ src/lib/data/Storage.cpp | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/component/controller/UndoRedoController.cpp b/src/lib/component/controller/UndoRedoController.cpp index 78d84aad..04687543 100644 --- a/src/lib/component/controller/UndoRedoController.cpp +++ b/src/lib/component/controller/UndoRedoController.cpp @@ -380,6 +380,11 @@ MessageBase* UndoRedoController::lastMessage() const bool UndoRedoController::requiresActivateFallbackToken() const { + if (m_iterator == m_list.begin()) + { + return true; + } + std::list::iterator it = m_iterator; do diff --git a/src/lib/data/Storage.cpp b/src/lib/data/Storage.cpp index 1e5037e3..f7271b95 100644 --- a/src/lib/data/Storage.cpp +++ b/src/lib/data/Storage.cpp @@ -220,8 +220,8 @@ std::vector Storage::getAutocompletionMatches(const std::string& qu const size_t maxResultCount = 100; std::vector elementResults = m_elementIndex.search(query, maxResultCount); std::sort(elementResults.begin(), elementResults.end(), []( - SearchResult a, - SearchResult b) + const SearchResult& a, + const SearchResult& b) { // should a be ranked higher than b? if (a.score > b.score) @@ -240,7 +240,7 @@ std::vector Storage::getAutocompletionMatches(const std::string& qu // move uppercase letters to higher ascii range std::string sA = utility::switchCases(a.text); std::string sB = utility::switchCases(b.text); - return (sA.compare(sB) <= 0); + return (sA.compare(sB) < 0); } } return false;