From 0d402556af53790adb06380b4b04ea421d14d09e Mon Sep 17 00:00:00 2001 From: Luboš Luňák Date: Sun, 20 Feb 2022 18:34:13 +0100 Subject: fix usage of std::lower_bound() in SfxItemPool (tdf#81765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The function expects elements starting from smallest to the biggest, and finds the first one that is not smaller than the one searched for. That means that all items remaining will not be smaller, and thus end of search is when items compare larger. Comparing remaining items as smaller means searching until the end. Change-Id: If5cf5c18951abf987ddbbf201f49cfb195e36d32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130220 Tested-by: Jenkins Reviewed-by: Noel Grandin Reviewed-by: Luboš Luňák --- svl/source/inc/poolio.hxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'svl') diff --git a/svl/source/inc/poolio.hxx b/svl/source/inc/poolio.hxx index b2819cc46bd5..1080672b09ff 100644 --- a/svl/source/inc/poolio.hxx +++ b/svl/source/inc/poolio.hxx @@ -86,7 +86,7 @@ public: { if (it == maSortablePoolItems.end()) return nullptr; - if (**it < *pNeedle) + if (*pNeedle < **it) return nullptr; if (*pNeedle == **it) return *it; @@ -130,7 +130,7 @@ public: assert(false && "did not find item?"); break; } - if (**sortIt < *pNeedle) + if (*pNeedle < **sortIt) { assert(false && "did not find item?"); break; -- cgit