summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Lippka <cl@openoffice.org>2010-04-16 16:10:11 +0200
committerChristian Lippka <cl@openoffice.org>2010-04-16 16:10:11 +0200
commitbf8b1838a7ad9a5895fcbee511985cdfb665c966 (patch)
tree45026428dd1dce408d7018c02d915e9f6e9f338d
parentc842884262ee413138165123f96a5cc81ffe6647 (diff)
#i108132# dispose stylesheets to avoid dangling references
-rw-r--r--sd/inc/stlpool.hxx2
-rw-r--r--sd/source/core/stlpool.cxx14
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();
+}
+
+// --------------------------------------------------------------------