basic/source/classes/propacc.cxx | 2 +- comphelper/source/property/propagg.cxx | 2 +- toolkit/source/awt/vclxtoolkit.cxx | 3 ++- vcl/source/font/font.cxx | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-)
New commits: commit c7f5da8b04f6e3d69953e38cb3f3bde86104d85a Author: Noel Grandin <[email protected]> AuthorDate: Mon Feb 18 10:10:07 2019 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Mon Feb 18 11:04:27 2019 +0100 fix comparison of std::lower_bound result turns out using a compare operator that takes something other than the element type as a parameter is really hard to get right. The changes in: basic/source/classes/propacc.cxx comphelper/source/property/propagg.cxx vcl/source/font/font.cxx are a regression from commit 35e80e9726b5fee6a00caa58349a4b5d924dad7c Date: Fri Oct 19 16:01:19 2018 +0200 when calling std::lower_bound The change in toolkit/source/awt/vclxtoolkit.cxx is a regression from commit 76dd28afc9c0eb632a5dd20eb51704ee0bbc4b58 Date: Tue Oct 9 16:27:11 2018 +0200 loplugin:staticvar in various Change-Id: Icf6db22e1fc091517a53dd3624913c8c2071c106 Reviewed-on: https://gerrit.libreoffice.org/67954 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/basic/source/classes/propacc.cxx b/basic/source/classes/propacc.cxx index a14465599e0a..e951c82973ea 100644 --- a/basic/source/classes/propacc.cxx +++ b/basic/source/classes/propacc.cxx @@ -80,7 +80,7 @@ size_t SbPropertyValues::GetIndex_Impl( const OUString &rPropName ) const SbPropertyValueArr_Impl::const_iterator it = std::lower_bound( m_aPropVals.begin(), m_aPropVals.end(), rPropName, SbCompare_UString_PropertyValue_Impl ); - if (it == m_aPropVals.end() || !SbCompare_UString_PropertyValue_Impl(*it, rPropName)) + if (it == m_aPropVals.end() || it->Name != rPropName) { throw beans::UnknownPropertyException( "Property not found: " + rPropName, diff --git a/comphelper/source/property/propagg.cxx b/comphelper/source/property/propagg.cxx index 1e618694f465..e5ce771b3b53 100644 --- a/comphelper/source/property/propagg.cxx +++ b/comphelper/source/property/propagg.cxx @@ -239,7 +239,7 @@ sal_Int32 OPropertyArrayAggregationHelper::fillHandles( { aNameProp.Name = pReqProps[i]; auto findIter = std::lower_bound(m_aProperties.begin(), m_aProperties.end(), aNameProp, PropertyCompareByName()); - if ( findIter != m_aProperties.end() && !PropertyCompareByName()(*findIter, aNameProp)) + if ( findIter != m_aProperties.end() && findIter->Name == pReqProps[i] ) { _pHandles[i] = findIter->Handle; nHitCount++; diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx index fc46f5d3c51a..f0e000146e1f 100644 --- a/toolkit/source/awt/vclxtoolkit.cxx +++ b/toolkit/source/awt/vclxtoolkit.cxx @@ -791,7 +791,8 @@ WindowType ImplGetComponentType( const OUString& rServiceName ) auto it = std::lower_bound( std::begin(aComponentInfos), std::end(aComponentInfos), sSearch, ComponentInfoFindCompare ); - if (it != std::end(aComponentInfos) && !ComponentInfoFindCompare(*it, sSearch) ) + if (it != std::end(aComponentInfos) && + rtl_ustr_ascii_compareIgnoreAsciiCase_WithLengths(sSearch.pData->buffer, sSearch.pData->length, it->sName.data, it->sName.size) == 0) return it->nWinType; return WindowType::NONE; } diff --git a/vcl/source/font/font.cxx b/vcl/source/font/font.cxx index cd8ebb9b2a4b..68b8f3125ba8 100644 --- a/vcl/source/font/font.cxx +++ b/vcl/source/font/font.cxx @@ -611,7 +611,8 @@ namespace aEnt.string_len = (pClose-pOpen)-1; aEnt.weight = WEIGHT_NORMAL; WeightSearchEntry const * pFound = std::lower_bound( std::begin(weight_table), std::end(weight_table), aEnt ); - if( pFound != std::end(weight_table) && !(*pFound < aEnt)) + if( pFound != std::end(weight_table) && + rtl_str_compareIgnoreAsciiCase_WithLength( pFound->string, pFound->string_len, aEnt.string, aEnt.string_len) == 0 ) o_rResult.SetWeight( pFound->weight ); } } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
