diff options
author | Matúš Kukan <matus.kukan@gmail.com> | 2012-08-03 14:02:01 +0200 |
---|---|---|
committer | Matúš Kukan <matus.kukan@gmail.com> | 2012-08-04 01:57:11 +0200 |
commit | 4e648b8e7c65fd8c382baf6b6798cdedfac5cdd8 (patch) | |
tree | 54117d9e82a40d480cbbee7feb7d28a1d3f63fd8 /sc | |
parent | f2c7d7aea4ec8c1f9f38e1d00c14dadca67b863e (diff) |
tubes: create contacts dialog instance for each document separately
This solves a crash when static dialog instance was destroyed on closing of
one document but then was used in another document.
Change-Id: I6ac9edb1de83f638bdf4ce7c0814fcbdf4b4b1e5
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/collab/sccollaboration.cxx | 9 | ||||
-rw-r--r-- | sc/source/ui/inc/sccollaboration.hxx | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/sc/source/ui/collab/sccollaboration.cxx b/sc/source/ui/collab/sccollaboration.cxx index 758db8918f4e..fbdbe0a0938d 100644 --- a/sc/source/ui/collab/sccollaboration.cxx +++ b/sc/source/ui/collab/sccollaboration.cxx @@ -20,7 +20,7 @@ ScCollaboration::~ScCollaboration() { } -TeleConference* ScCollaboration::GetConference() const +TeleConference* ScCollaboration::GetConference() { ScDocFuncSend* pSender = GetScDocFuncSend(); if (pSender) @@ -29,6 +29,11 @@ TeleConference* ScCollaboration::GetConference() const return NULL; } +sal_uInt64 ScCollaboration::GetId() +{ + return reinterpret_cast<sal_uInt64> (SfxObjectShell::Current()); +} + void ScCollaboration::SetCollaboration( TeleConference* pConference ) { ScDocShell* pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); @@ -52,7 +57,7 @@ void ScCollaboration::SendFile( TpContact* pContact, const OUString& rURL ) pSender->SendFile( pContact, rURL ); } -ScDocFuncSend* ScCollaboration::GetScDocFuncSend() const +ScDocFuncSend* ScCollaboration::GetScDocFuncSend() { ScDocShell *pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); ScDocFunc *pDocFunc = pScDocShell ? &pScDocShell->GetDocFunc() : NULL; diff --git a/sc/source/ui/inc/sccollaboration.hxx b/sc/source/ui/inc/sccollaboration.hxx index 545db920686e..41b2c5866a57 100644 --- a/sc/source/ui/inc/sccollaboration.hxx +++ b/sc/source/ui/inc/sccollaboration.hxx @@ -19,11 +19,12 @@ public: ScCollaboration(); virtual ~ScCollaboration(); - virtual TeleConference* GetConference() const; + virtual TeleConference* GetConference(); + virtual sal_uInt64 GetId(); virtual void SetCollaboration( TeleConference* pConference ); virtual void SendFile( TpContact* pContact, const OUString& rURL ); private: - ScDocFuncSend* GetScDocFuncSend() const; + ScDocFuncSend* GetScDocFuncSend(); }; #endif // INCLUDED_SC_COLLABORATION_HXX |