summaryrefslogtreecommitdiff
path: root/filter/source/svg/svguno.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/svg/svguno.cxx')
-rw-r--r--filter/source/svg/svguno.cxx26
1 files changed, 20 insertions, 6 deletions
diff --git a/filter/source/svg/svguno.cxx b/filter/source/svg/svguno.cxx
index f20bfb6a526d..08dcd4bda21a 100644
--- a/filter/source/svg/svguno.cxx
+++ b/filter/source/svg/svguno.cxx
@@ -35,6 +35,7 @@
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <svgfilter.hxx>
+#include <svgdialog.hxx>
using ::rtl::OUString;
using namespace ::cppu;
@@ -56,13 +57,26 @@ extern "C"
{
void * pRet = 0;
- OUString implName = OUString::createFromAscii( pImplName );
- if ( pServiceManager && implName.equals(SVGFilter_getImplementationName()) )
+ const OUString aImplName = OUString::createFromAscii( pImplName );
+
+ if( pServiceManager )
{
- Reference< XSingleServiceFactory > xFactory( createSingleFactory(
- reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
- OUString::createFromAscii( pImplName ),
- SVGFilter_createInstance, SVGFilter_getSupportedServiceNames() ) );
+ Reference< XSingleServiceFactory > xFactory;
+
+ if( aImplName.equals( SVGFilter_getImplementationName() ) )
+ {
+ xFactory = Reference< XSingleServiceFactory >( createSingleFactory(
+ reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
+ OUString::createFromAscii( pImplName ),
+ SVGFilter_createInstance, SVGFilter_getSupportedServiceNames() ) );
+ }
+ else if( aImplName.equals( SVGDialog_getImplementationName() ) )
+ {
+ xFactory = Reference< XSingleServiceFactory >( createSingleFactory(
+ reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
+ OUString::createFromAscii( pImplName ),
+ SVGDialog_createInstance, SVGDialog_getSupportedServiceNames() ) );
+ }
if (xFactory.is())
{