diff options
Diffstat (limited to 'sw/source/writerfilter/dmapper/SdtHelper.cxx')
-rw-r--r-- | sw/source/writerfilter/dmapper/SdtHelper.cxx | 12 |
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()) |