summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2012-08-03 14:02:01 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2012-08-04 01:57:11 +0200
commit4e648b8e7c65fd8c382baf6b6798cdedfac5cdd8 (patch)
tree54117d9e82a40d480cbbee7feb7d28a1d3f63fd8 /sc
parentf2c7d7aea4ec8c1f9f38e1d00c14dadca67b863e (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.cxx9
-rw-r--r--sc/source/ui/inc/sccollaboration.hxx5
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