summaryrefslogtreecommitdiff
path: root/sw/inc/frmfmt.hxx
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2010-01-08 17:13:51 +0100
committerMichael Stahl <mst@openoffice.org>2010-01-08 17:13:51 +0100
commit2fee7963e992089b67eeb2fb60da27054037da32 (patch)
tree9b6b4df49fd55cef127e587cc4641c00526afd06 /sw/inc/frmfmt.hxx
parent77ca8486db12a970aef9aeafea3ac9a4c297d2b2 (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.hxx19
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)
};