summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapper.cxx
diff options
context:
space:
mode:
authorTamás Zolnai <tamas.zolnai@collabora.com>2019-08-23 17:24:40 +0200
committerXisco Faulí <xiscofauli@libreoffice.org>2019-09-17 15:21:35 +0200
commitafe190f1545a159e67d48eeba5c6be133d262af0 (patch)
tree116042de5545908b7c65f9e4a9e583680c62d1cc /writerfilter/source/dmapper/DomainMapper.cxx
parent4436a29401beffd0893ecae70cd09c7a49f49f22 (diff)
tdf#119809: FILESAVE DOCX The combo box ActiveX control is lost
The problem was with the empty combobox. The implemenation before this commit imported a combobox only when the combobox had any item. Reviewed-on: https://gerrit.libreoffice.org/78024 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 3ceefe9abff98fc24ffb5e8e405f4999faddc351) Change-Id: I945098277d1ed34c65b43f0f6ad8eb361cf41b53 Reviewed-on: https://gerrit.libreoffice.org/78394 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapper.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 9d2cbd7bfe81..e421109ba396 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -1016,7 +1016,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
else
m_pImpl->setSdtEndDeferred(true);
- if (!m_pImpl->m_pSdtHelper->getDropDownItems().empty())
+ if (m_pImpl->m_pSdtHelper->isInsideDropDownControl())
m_pImpl->m_pSdtHelper->createDropDownControl();
break;
case NS_ooxml::LN_CT_SdtListItem_displayText:
@@ -2394,6 +2394,7 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext )
case NS_ooxml::LN_CT_SdtPr_dropDownList:
case NS_ooxml::LN_CT_SdtPr_comboBox:
{
+ m_pImpl->m_pSdtHelper->setInsideDropDownControl(true);
writerfilter::Reference<Properties>::Pointer_t pProperties = rSprm.getProps();
if (pProperties.get() != nullptr)
pProperties->resolve(*this);
@@ -3193,7 +3194,7 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len)
}
bool bNewLine = len == 1 && (sText[0] == 0x0d || sText[0] == 0x07);
- if (!m_pImpl->m_pSdtHelper->getDropDownItems().empty())
+ if (m_pImpl->m_pSdtHelper->isInsideDropDownControl())
{
if (bNewLine)
// Dropdown control has single-line texts, so in case of newline, create the control.