Kaydet (Commit) 312cecf1 authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#113183 DOCX import: fix not independent text box alignments

The alternative would be to clear them in
writerfilter::dmapper::DomainMapper::getPositionOffset(), but that runs
before writerfilter::dmapper::PositionHandler::lcl_sprm(), so it would
be too early.

Change-Id: I287b9a4025c4b1844ae467c48815b5d7ffe3f98e
Reviewed-on: https://gerrit.libreoffice.org/46279Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: 's avatarJenkins <ci@libreoffice.org>
üst 9c1fcf8a
......@@ -147,6 +147,16 @@ DECLARE_OOXMLEXPORT_TEST(testSignatureLineShape, "signature-line-all-props-set.d
CPPUNIT_ASSERT_EQUAL(OUString("Check the machines!"), aSigningInstructions);
}
DECLARE_OOXMLEXPORT_TEST(testTdf113183, "tdf113183.docx")
{
// This was 2096, the horizontal positioning of the star shape affected the
// positioning of the triangle one, so the triangle was outside the page
// frame.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0),
getProperty<sal_Int32>(getShapeByName("triangle"),
"HoriOrientPosition"));
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -133,9 +133,11 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
{
case NS_ooxml::LN_CT_PosH_posOffset:
m_nPosition = oox::drawingml::convertEmuToHmm(m_rPositionOffsets.first.toInt32());
m_rPositionOffsets.first.clear();
break;
case NS_ooxml::LN_CT_PosV_posOffset:
m_nPosition = oox::drawingml::convertEmuToHmm(m_rPositionOffsets.second.toInt32());
m_rPositionOffsets.second.clear();
break;
case NS_ooxml::LN_CT_PosH_align:
{
......@@ -150,6 +152,7 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
m_nOrient = text::HoriOrientation::INSIDE;
else if (rAlign == "outside")
m_nOrient = text::HoriOrientation::OUTSIDE;
rAlign.clear();
break;
}
case NS_ooxml::LN_CT_PosV_align:
......@@ -165,6 +168,7 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
m_nOrient = text::VertOrientation::NONE;
else if (rAlign == "outside")
m_nOrient = text::VertOrientation::NONE;
rAlign.clear();
break;
}
}
......
......@@ -197,7 +197,7 @@ uno::Sequence<OUString> EPUBExportFilter::getSupportedServiceNames()
return aRet;
}
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface * com_sun_star_comp_Writer_EPUBExportFilter_get_implementation(uno::XComponentContext *pContext, uno::Sequence<uno::Any> const &)
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface *com_sun_star_comp_Writer_EPUBExportFilter_get_implementation(uno::XComponentContext *pContext, uno::Sequence<uno::Any> const &)
{
return cppu::acquire(new EPUBExportFilter(pContext));
}
......
......@@ -83,7 +83,7 @@ sal_Int16 EPUBExportUIComponent::execute()
return ui::dialogs::ExecutableDialogResults::CANCEL;
}
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface * com_sun_star_comp_Writer_EPUBExportUIComponent_get_implementation(uno::XComponentContext *pCtx, uno::Sequence<uno::Any> const &)
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface *com_sun_star_comp_Writer_EPUBExportUIComponent_get_implementation(uno::XComponentContext *pCtx, uno::Sequence<uno::Any> const &)
{
return cppu::acquire(new EPUBExportUIComponent(pCtx));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment