diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-01-23 16:08:29 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-01-23 16:13:48 +0100 |
commit | e753d31d5d2338da35b69b0a3b7742420c7562d2 (patch) | |
tree | 9a73933109f8f5a435bf15cec18048a0d0f20393 /sc/inc/textuno.hxx | |
parent | 05e7b1db351ee964d155e49c55de7db3c917083f (diff) |
Hold ScHeaderFooterContentObj by rtl::Reference
...there appears to be no good reason not to (it's a UNO implementation,
deriving from WeakImplHelper), and witnessed at least one JunitTest_sc_unoapi
failure where an incoming URP call on ScHeaderFooterTextObj::getString obtained
an apparently dangling
ScHeaderFooterContentObj& rContentObj = aTextData.GetContentObj()
that pointed to garbage.
Change-Id: I51a2a03ded18509ee61488d96bd30a6d364825d7
Diffstat (limited to 'sc/inc/textuno.hxx')
-rw-r--r-- | sc/inc/textuno.hxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sc/inc/textuno.hxx b/sc/inc/textuno.hxx index d716cbaffac2..303abfc2b136 100644 --- a/sc/inc/textuno.hxx +++ b/sc/inc/textuno.hxx @@ -94,7 +94,7 @@ public: throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); - static ScHeaderFooterContentObj* getImplementation( const com::sun::star::uno::Reference< + static rtl::Reference<ScHeaderFooterContentObj> getImplementation( const com::sun::star::uno::Reference< com::sun::star::sheet::XHeaderFooterContent> xObj ); // XServiceInfo @@ -112,7 +112,7 @@ class ScHeaderFooterTextData : boost::noncopyable { private: EditTextObject* mpTextObj; - ScHeaderFooterContentObj& rContentObj; + rtl::Reference<ScHeaderFooterContentObj> rContentObj; sal_uInt16 nPart; ScEditEngineDefaulter* pEditEngine; SvxEditEngineForwarder* pForwarder; @@ -120,7 +120,7 @@ private: public: ScHeaderFooterTextData( - ScHeaderFooterContentObj& rContent, sal_uInt16 nP, const EditTextObject* pTextObj); + rtl::Reference<ScHeaderFooterContentObj> const & rContent, sal_uInt16 nP, const EditTextObject* pTextObj); ~ScHeaderFooterTextData(); // helper functions @@ -130,7 +130,7 @@ public: ScEditEngineDefaulter* GetEditEngine() { GetTextForwarder(); return pEditEngine; } sal_uInt16 GetPart() const { return nPart; } - ScHeaderFooterContentObj& GetContentObj() const { return rContentObj; } + rtl::Reference<ScHeaderFooterContentObj> GetContentObj() const { return rContentObj; } const EditTextObject* GetTextObject() const { return mpTextObj;} }; @@ -156,7 +156,7 @@ private: public: ScHeaderFooterTextObj( - ScHeaderFooterContentObj& rContent, sal_uInt16 nP, const EditTextObject* pTextObj); + rtl::Reference<ScHeaderFooterContentObj> const & rContent, sal_uInt16 nP, const EditTextObject* pTextObj); virtual ~ScHeaderFooterTextObj(); const EditTextObject* GetTextObject() const; |