summaryrefslogtreecommitdiff
path: root/sw/source/writerfilter/dmapper/SdtHelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/writerfilter/dmapper/SdtHelper.cxx')
-rw-r--r--sw/source/writerfilter/dmapper/SdtHelper.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/sw/source/writerfilter/dmapper/SdtHelper.cxx b/sw/source/writerfilter/dmapper/SdtHelper.cxx
index 06f3262b767e..db00c79461c0 100644
--- a/sw/source/writerfilter/dmapper/SdtHelper.cxx
+++ b/sw/source/writerfilter/dmapper/SdtHelper.cxx
@@ -32,6 +32,7 @@
#include <com/sun/star/xml/xpath/XPathException.hpp>
#include <com/sun/star/xml/dom/DocumentBuilder.hpp>
#include <unotxdoc.hxx>
+#include <unobookmark.hxx>
namespace writerfilter::dmapper
{
@@ -473,14 +474,13 @@ void SdtHelper::createDateContentControl()
return;
}
- uno::Reference<uno::XInterface> xFieldInterface
- = m_rDM_Impl.GetTextDocument()->createInstance("com.sun.star.text.Fieldmark");
- uno::Reference<text::XFormField> xFormField(xFieldInterface, uno::UNO_QUERY);
- uno::Reference<text::XTextContent> xToInsert(xFormField, uno::UNO_QUERY);
- if (!(xFormField.is() && xToInsert.is()))
+ rtl::Reference<SwXBookmark> xFieldmark = m_rDM_Impl.GetTextDocument()->createFieldmark();
+ uno::Reference<text::XFormField> xFormField(static_cast<cppu::OWeakObject*>(xFieldmark.get()),
+ uno::UNO_QUERY);
+ if (!xFormField)
return;
- xToInsert->attach(uno::Reference<text::XTextRange>(xCrsr, uno::UNO_QUERY_THROW));
+ xFieldmark->attach(uno::Reference<text::XTextRange>(xCrsr, uno::UNO_QUERY_THROW));
xFormField->setFieldType(ODF_FORMDATE);
uno::Reference<container::XNameContainer> xNameCont = xFormField->getParameters();
if (xNameCont.is())