diff options
author | Christian Lippka <cl@openoffice.org> | 2010-04-16 16:10:11 +0200 |
---|---|---|
committer | Christian Lippka <cl@openoffice.org> | 2010-04-16 16:10:11 +0200 |
commit | bf8b1838a7ad9a5895fcbee511985cdfb665c966 (patch) | |
tree | 45026428dd1dce408d7018c02d915e9f6e9f338d | |
parent | c842884262ee413138165123f96a5cc81ffe6647 (diff) |
#i108132# dispose stylesheets to avoid dangling references
-rw-r--r-- | sd/inc/stlpool.hxx | 2 | ||||
-rw-r--r-- | sd/source/core/stlpool.cxx | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/sd/inc/stlpool.hxx b/sd/inc/stlpool.hxx index d49d743b6dee..7dfeac99121b 100644 --- a/sd/inc/stlpool.hxx +++ b/sd/inc/stlpool.hxx @@ -126,6 +126,8 @@ public: virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL acquire (void) throw (); + virtual void SAL_CALL release (void) throw (); protected: void CopySheets(SdStyleSheetPool& rSourcePool, SfxStyleFamily eFamily ); diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx index e592ba45a27e..c91fee735954 100644 --- a/sd/source/core/stlpool.cxx +++ b/sd/source/core/stlpool.cxx @@ -1437,6 +1437,8 @@ void SAL_CALL SdStyleSheetPool::dispose() throw (RuntimeException) // EndListening( *mpDoc ); mpDoc = 0; + + Clear(); } } @@ -1475,3 +1477,15 @@ SdStyleSheetVector SdStyleSheetPool::CreateChildList( SdStyleSheet* pSheet ) } // -------------------------------------------------------------------- + +void SAL_CALL SdStyleSheetPool::acquire (void) throw () +{ + SdStyleSheetPoolBase::acquire(); +} + +void SAL_CALL SdStyleSheetPool::release (void) throw () +{ + SdStyleSheetPoolBase::release(); +} + +// -------------------------------------------------------------------- |