[Libreoffice-commits] core.git: editeng/qa editeng/source
Szymon Kłos
szymon.klos at collabora.com
Fri Mar 9 20:21:58 UTC 2018
editeng/qa/unit/core-test.cxx | 2 +-
editeng/source/editeng/impedit3.cxx | 13 ++++++-------
2 files changed, 7 insertions(+), 8 deletions(-)
New commits:
commit 63311c2d512f69bff9a2e3c012a4f36a91f23e19
Author: Szymon Kłos <szymon.klos at collabora.com>
Date: Fri Mar 9 20:26:35 2018 +0100
tdf#116101 Correct bullet position for linespacing > 100%
Change-Id: Ia900636d4013ab2a9c893c8246391db867fe1543
Reviewed-on: https://gerrit.libreoffice.org/51017
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx
index 7e1ccef61824..57efc39b4d97 100644
--- a/editeng/qa/unit/core-test.cxx
+++ b/editeng/qa/unit/core-test.cxx
@@ -226,7 +226,7 @@ void Test::testLineSpacing()
// Check the first line
ParagraphInfos aInfo2 = aEditEngine.GetParagraphInfos(0);
- CPPUNIT_ASSERT_EQUAL(sal_uInt16(295), aInfo2.nFirstLineMaxAscent);
+ CPPUNIT_ASSERT_EQUAL(sal_uInt16(311), aInfo2.nFirstLineMaxAscent);
CPPUNIT_ASSERT_EQUAL(sal_uInt16(382), static_cast<sal_uInt16>(aEditEngine.GetLineHeight(0)));
}
diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx
index 01eb56b577fd..79880497619f 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -1460,15 +1460,14 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, sal_uInt32 nStartPosY )
else if ( rLSItem.GetPropLineSpace() && ( rLSItem.GetPropLineSpace() != 100 ) )
{
sal_uInt16 nTxtHeight = pLine->GetHeight();
- sal_Int32 nH = nTxtHeight;
- nH *= rLSItem.GetPropLineSpace();
- nH /= 100;
+ sal_Int32 nTxtHeightProp = nTxtHeight * rLSItem.GetPropLineSpace() / 100;
+ sal_Int32 nHeightProp = pLine->GetHeight() * rLSItem.GetPropLineSpace() / 100;
// The Ascent has to be adjusted for the difference:
- long nDiff = pLine->GetHeight() - nH;
+ long nDiff = ( pLine->GetHeight() - nTxtHeightProp ) * 4 / 5;
if ( nDiff > pLine->GetMaxAscent() )
- nDiff = pLine->GetMaxAscent();
- pLine->SetMaxAscent( static_cast<sal_uInt16>( pLine->GetMaxAscent() * 4 / 5 - nDiff ) ); // 80%
- pLine->SetHeight( static_cast<sal_uInt16>(nH), nTxtHeight );
+ nDiff = pLine->GetMaxAscent() * 4 / 5;
+ pLine->SetMaxAscent( static_cast<sal_uInt16>( pLine->GetMaxAscent() - nDiff ) ); // 80%
+ pLine->SetHeight( static_cast<sal_uInt16>( nHeightProp ), nTxtHeightProp );
}
}
}
More information about the Libreoffice-commits
mailing list