diff --git a/include/svx/unoprov.hxx b/include/svx/unoprov.hxx index f8795e6298ae..9ac270cf7823 100644 --- a/include/svx/unoprov.hxx +++ b/include/svx/unoprov.hxx @@ -25,6 +25,7 @@ #include #include #include +#include class SvxItemPropertySet; @@ -116,7 +117,7 @@ public: SVX_DLLPUBLIC static comphelper::PropertySetInfo* getOrCreate( sal_Int32 nServiceId ) throw(); private: - static comphelper::PropertySetInfo* mpInfos[SVXUNO_SERVICEID_LASTID+1]; + static rtl::Reference mxInfos[SVXUNO_SERVICEID_LASTID+1]; }; #endif diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx index 2d9f97c47a24..32beef82f295 100644 --- a/svx/source/unodraw/unoprov.cxx +++ b/svx/source/unodraw/unoprov.cxx @@ -1375,21 +1375,20 @@ comphelper::PropertySetInfo* SvxPropertySetInfoPool::getOrCreate( sal_Int32 nSer return nullptr; } - if( mpInfos[ nServiceId ] == nullptr ) + if( !mxInfos[ nServiceId ].is() ) { - mpInfos[nServiceId] = new comphelper::PropertySetInfo(); - mpInfos[nServiceId]->acquire(); + mxInfos[nServiceId] = new comphelper::PropertySetInfo(); switch( nServiceId ) { case SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS: - mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS]->add( ImplGetSvxDrawingDefaultsPropertyMap() ); + mxInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS]->add( ImplGetSvxDrawingDefaultsPropertyMap() ); break; case SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER: - mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetSvxDrawingDefaultsPropertyMap() ); - mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->remove( UNO_NAME_EDIT_PARA_IS_HANGING_PUNCTUATION ); + mxInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetSvxDrawingDefaultsPropertyMap() ); + mxInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->remove( UNO_NAME_EDIT_PARA_IS_HANGING_PUNCTUATION ); // OD 13.10.2003 #i18732# - add property map for writer item 'IsFollowingTextFlow' - mpInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetAdditionalWriterDrawingDefaultsPropertyMap() ); + mxInfos[SVXUNO_SERVICEID_COM_SUN_STAR_DRAWING_DEFAULTS_WRITER]->add( ImplGetAdditionalWriterDrawingDefaultsPropertyMap() ); break; default: @@ -1397,9 +1396,9 @@ comphelper::PropertySetInfo* SvxPropertySetInfoPool::getOrCreate( sal_Int32 nSer } } - return mpInfos[ nServiceId ]; + return mxInfos[ nServiceId ].get(); } -comphelper::PropertySetInfo* SvxPropertySetInfoPool::mpInfos[SVXUNO_SERVICEID_LASTID+1] = { nullptr }; +rtl::Reference SvxPropertySetInfoPool::mxInfos[SVXUNO_SERVICEID_LASTID+1] = { nullptr }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */