tdf#118533 fix shape import: zero top margin only in first paragraph

commit 0307a62790 fixed the
top margin import of the paragraphs of document sections, and
import of first paragraph of the text frames with beforeAutospacing,
but nullified all other paragraph top margins in frames.

Note: there is no visible margin difference in the unit test (extended
by this commit) before and after the fix, because the first paragraph
uses also afterAutospacing, resulting still 14pt paragraph space.
But the tested beforeAutospacing value of the next paragraph checks
the fix correctly.

Change-Id: I0ab3b8bbff33c5488f4b4af1ea4dabf7105103f2
Reviewed-on: https://gerrit.libreoffice.org/57231
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
This commit is contained in:
László Németh
2018-07-10 13:03:58 +02:00
parent b9bc45705b
commit 970eaaf1bd
3 changed files with 6 additions and 2 deletions

View File

@@ -310,6 +310,9 @@ DECLARE_OOXMLEXPORT_TEST(testTdf104354, "tdf104354.docx")
// margin for the first paragraph in a text frame.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0),
getProperty<sal_Int32>(xShape->getStart(), "ParaTopMargin"));
// still 494 in the second paragraph
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(494),
getProperty<sal_Int32>(xShape->getEnd(), "ParaTopMargin"));
}
DECLARE_OOXMLEXPORT_TEST(testTdf107035, "tdf107035.docx")

View File

@@ -654,8 +654,9 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
default_spacing = 49;
else
{
// tdf#104354 fist paragraph has got zero top margin
if (m_pImpl->GetIsFirstParagraphInSection())
// tdf#104354, tdf#118533 first paragraph of sections and shapes got zero top margin
if ((m_pImpl->GetIsFirstParagraphInSection() && !m_pImpl->IsInShape()) ||
m_pImpl->GetIsFirstParagraphInShape())
default_spacing = 0;
else
default_spacing = 280;