diff options
author | Michael Stahl <mst@openoffice.org> | 2010-01-08 17:13:51 +0100 |
---|---|---|
committer | Michael Stahl <mst@openoffice.org> | 2010-01-08 17:13:51 +0100 |
commit | 2fee7963e992089b67eeb2fb60da27054037da32 (patch) | |
tree | 9b6b4df49fd55cef127e587cc4641c00526afd06 /sw/inc/frmfmt.hxx | |
parent | 77ca8486db12a970aef9aeafea3ac9a4c297d2b2 (diff) |
swunolocking1: #i105557#: fix locking for SwXTextSection:
replace SwXTextSectionClient with Impl struct, use UnoImplPtr to lock dtor.
move all implementation details out of header, into Impl struct.
remove ugly destruction of SwUnoCrsr via Application::PostUserEvent.
replace broken SwClient iteration with a WeakReference in SwSectionFmt.
add factory function CreateXTextSection.
use new XUnoTunnel and XServiceInfo helpers.
clean up the implementation a little.
Diffstat (limited to 'sw/inc/frmfmt.hxx')
-rw-r--r-- | sw/inc/frmfmt.hxx | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/sw/inc/frmfmt.hxx b/sw/inc/frmfmt.hxx index a86b1c6689a0..61663d131aad 100644 --- a/sw/inc/frmfmt.hxx +++ b/sw/inc/frmfmt.hxx @@ -30,11 +30,14 @@ #ifndef _FRMFMT_HXX #define _FRMFMT_HXX -#include <format.hxx> - // --> OD 2004-08-06 #i28749# #include <com/sun/star/text/PositionLayoutDir.hpp> // <-- + +#include <cppuhelper/weakref.hxx> + +#include <format.hxx> + #include "swdllapi.h" class SwFlyFrm; @@ -51,8 +54,9 @@ class SW_DLLPUBLIC SwFrmFmt: public SwFmt { friend class SwDoc; friend class SwPageDesc; //darf den protected CTor rufen. -// friend class SwSwgReader; // der SW2-Reader auch! -// friend class Sw3IoImp; // der SW3-Reader auch! + + ::com::sun::star::uno::WeakReference< + ::com::sun::star::uno::XInterface> m_wXObject; protected: SwFrmFmt( SwAttrPool& rPool, const sal_Char* pFmtNm, @@ -136,6 +140,13 @@ public: virtual String GetDescription() const; + SW_DLLPRIVATE ::com::sun::star::uno::WeakReference< + ::com::sun::star::uno::XInterface> const& GetXObject() const + { return m_wXObject; } + SW_DLLPRIVATE void SetXObject(::com::sun::star::uno::Reference< + ::com::sun::star::uno::XInterface> const& xObject) + { m_wXObject = xObject; } + DECL_FIXEDMEMPOOL_NEWDEL_DLL(SwFrmFmt) }; |