sw/source/core/text/itradj.cxx | 5 +++-- sw/source/core/text/porlay.cxx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)
New commits: commit 2c0a33f5003cc9791a79d54ff279eb734d2d065c Author: Caolán McNamara <[email protected]> Date: Tue Jun 26 12:59:24 2018 +0100 forcepoint#49 survive more kashidas than expected Change-Id: I66aa5389b3d80d1fe2f6898e8920eb37ca064381 Reviewed-on: https://gerrit.libreoffice.org/56468 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/sw/source/core/text/itradj.cxx b/sw/source/core/text/itradj.cxx index 3e39f9fffd67..8383292105bc 100644 --- a/sw/source/core/text/itradj.cxx +++ b/sw/source/core/text/itradj.cxx @@ -132,9 +132,10 @@ static bool lcl_CheckKashidaPositions( SwScriptInfo& rSI, SwTextSizeInfo& rInf, // kashida positions found in SwScriptInfo are not necessarily valid in every font // if two characters are replaced by a ligature glyph, there will be no place for a kashida - std::vector<TextFrameIndex> aKashidaPos(rKashidas); - std::vector<TextFrameIndex> aKashidaPosDropped(rKashidas); + std::vector<TextFrameIndex> aKashidaPos; rSI.GetKashidaPositions(nIdx, rItr.GetLength(), aKashidaPos); + assert(aKashidaPos.size() >= static_cast<size_t>(rKashidas)); + std::vector<TextFrameIndex> aKashidaPosDropped(aKashidaPos.size()); sal_Int32 nKashidaIdx = 0; while ( rKashidas && nIdx < nEnd ) { diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx index 689de7b4d907..108458804aa8 100644 --- a/sw/source/core/text/porlay.cxx +++ b/sw/source/core/text/porlay.cxx @@ -1994,7 +1994,7 @@ void SwScriptInfo::GetKashidaPositions( { if ( nEnd <= GetKashida( nCntKashEnd ) ) break; - rKashidaPosition[nCntKashEnd - nCntKash] = GetKashida(nCntKashEnd); + rKashidaPosition.push_back(GetKashida(nCntKashEnd)); nCntKashEnd++; } } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
