summaryrefslogtreecommitdiff
path: root/sd/source/ui/dlg/TemplateScanner.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/dlg/TemplateScanner.cxx')
-rw-r--r--sd/source/ui/dlg/TemplateScanner.cxx21
1 files changed, 5 insertions, 16 deletions
diff --git a/sd/source/ui/dlg/TemplateScanner.cxx b/sd/source/ui/dlg/TemplateScanner.cxx
index a98fa13b3e4d..c9e93c17f995 100644
--- a/sd/source/ui/dlg/TemplateScanner.cxx
+++ b/sd/source/ui/dlg/TemplateScanner.cxx
@@ -30,6 +30,7 @@
#include "TemplateScanner.hxx"
#include <comphelper/processfactory.hxx>
+#include <comphelper/componentcontext.hxx>
#include <comphelper/documentconstants.hxx>
#include <comphelper/string.hxx>
@@ -38,6 +39,7 @@
#include <vcl/svapp.hxx>
#include <sfx2/doctempl.hxx>
#include <sfx2/templatelocnames.hrc>
+#include <com/sun/star/frame/DocumentTemplates.hpp>
#include <com/sun/star/frame/XDocumentTemplates.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/ucb/XCommandEnvironment.hpp>
@@ -219,22 +221,9 @@ TemplateScanner::State TemplateScanner::GetTemplateRoot (void)
{
State eNextState (INITIALIZE_FOLDER_SCANNING);
- Reference<lang::XMultiServiceFactory> xFactory = ::comphelper::getProcessServiceFactory ();
- DBG_ASSERT (xFactory.is(), "TemplateScanner::GetTemplateRoot: xFactory is NULL");
-
- if (xFactory.is())
- {
- Reference<frame::XDocumentTemplates> xTemplates (
- xFactory->createInstance (rtl::OUString(DOCTEMPLATES)), UNO_QUERY);
- DBG_ASSERT (xTemplates.is(), "TemplateScanner::GetTemplateRoot: xTemplates is NULL");
-
- if (xTemplates.is())
- mxTemplateRoot = xTemplates->getContent();
- else
- eNextState = ERROR;
- }
- else
- eNextState = ERROR;
+ Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+ Reference<frame::XDocumentTemplates> xTemplates = frame::DocumentTemplates::create(xContext);
+ mxTemplateRoot = xTemplates->getContent();
return eNextState;
}