summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2022-09-12 13:39:40 +0200
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2022-09-12 15:14:54 +0200
commit5eff45749464739706c9f25cca6c1edff3187f1d (patch)
tree81235cdaa2c16026be4a695c259b6b7a77776e67 /writerfilter
parent51f6ec80e7b02689c19dd3917043d1088c2e7843 (diff)
tdf#150267 Import docvar value correctly
Change-Id: I388923e3f7bea35c1247f47812c158f5ab92fc0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139793 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx12
1 files changed, 8 insertions, 4 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 02d5f7ca5069..5eb29f07510a 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -17,6 +17,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
+#include <com/sun/star/text/XDependentTextField.hpp>
#include <i18nlangtag/languagetag.hxx>
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/streamwrap.hxx>
@@ -3489,12 +3490,15 @@ void RTFDocumentImpl::afterPopState(RTFParserState& rState)
}
else
{
- uno::Reference<beans::XPropertySet> xMasterProperties(
+ uno::Reference<beans::XPropertySet> xMaster(
m_xModelFactory->createInstance("com.sun.star.text.FieldMaster.User"),
uno::UNO_QUERY_THROW);
- xMasterProperties->setPropertyValue("Name",
- uno::Any(m_aStates.top().getDocVarName()));
- xMasterProperties->setPropertyValue("Value", uno::Any(docvar));
+ xMaster->setPropertyValue("Name", uno::Any(m_aStates.top().getDocVarName()));
+ uno::Reference<text::XDependentTextField> xField(
+ m_xModelFactory->createInstance("com.sun.star.text.TextField.User"),
+ uno::UNO_QUERY);
+ xField->attachTextFieldMaster(xMaster);
+ xField->getTextFieldMaster()->setPropertyValue("Content", uno::Any(docvar));
m_aStates.top().clearDocVarName();
}