diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-07-23 10:13:15 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2004-07-23 10:13:15 +0000 |
commit | 7adf9d24f29042c7b0742fa931ac77374e3ee36d (patch) | |
tree | 4c6f99bbded2f7d0fdd49ec84bae05dad67833ab /package | |
parent | d404ba0eabb0db772e42d194ca48acee7c766092 (diff) |
INTEGRATION: CWS fwklhf01 (1.5.14); FILE MERGED
2004/06/21 11:24:50 mav 1.5.14.1: #i30236# fix autodisposing of readonly storages
Diffstat (limited to 'package')
-rw-r--r-- | package/source/xstor/xstorage.hxx | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/package/source/xstor/xstorage.hxx b/package/source/xstor/xstorage.hxx index c0e69de91cf6..5e954193a290 100644 --- a/package/source/xstor/xstorage.hxx +++ b/package/source/xstor/xstorage.hxx @@ -2,9 +2,9 @@ * * $RCSfile: xstorage.hxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: hr $ $Date: 2004-05-10 17:29:11 $ + * last change: $Author: hr $ $Date: 2004-07-23 11:13:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -180,7 +180,27 @@ typedef ::std::list< SotElement_Impl* > SotElementList_Impl; // Main storage implementation class OStorage; -typedef ::std::list< OStorage* > OStorageList_Impl; + +struct StorageHolder_Impl +{ + OStorage* m_pPointer; + ::com::sun::star::uno::WeakReference< ::com::sun::star::embed::XStorage > m_xWeakRef; + + StorageHolder_Impl( OStorage* pStorage ) + : m_pPointer( pStorage ) + , m_xWeakRef( ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >( + (::com::sun::star::embed::XStorage*)pStorage ) ) + { + } + + StorageHolder_Impl( const StorageHolder_Impl& aSH ) + : m_pPointer( aSH.m_pPointer ) + , m_xWeakRef( aSH.m_xWeakRef ) + { + } +}; + +typedef ::std::list< StorageHolder_Impl > OStorageList_Impl; struct OStorage_Impl { @@ -349,6 +369,8 @@ public: void ChildIsDisposed( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xChild ); + sal_Int32 GetRefCount_Impl() { return m_refCount; } + //____________________________________________________________________________________________________ // XInterface //____________________________________________________________________________________________________ |