summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-07-06 17:06:14 +0200
committerEike Rathke <erack@redhat.com>2017-07-06 17:06:42 +0200
commitd5020f35aec54f0241fa58557dc6caadc149f5a9 (patch)
treeb2a9ba28dc95112fd38e99cdc9df591a18ab4fba /sc
parenta9efcef2c586b50ae36b20b34fa2b0fe21af0d8a (diff)
Attempt to blind fix tdf#108612 explicitly checking for clipboard document
It seems that for some yet unknown reason in an (un)certain constellation ScDocument::IsClipboardSource() returns true because ScModule::GetClipDoc() does not return the clipboard document but the actual document instead, so destroying the clipboard document executes ScDocument::ClosingClipboardSource() and (or in earlier versions) ScDocument::ForgetNoteCaptions() on the actual document instead. Check also that ScDocument::bIsClip is set, hopefully curing the symptom, the real cause is something else. Change-Id: I5ffd0706592d2737808e7004630a56c53115295b
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/document.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index c78e1db3acf9..93e75ed8e4c1 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -2543,7 +2543,7 @@ void ScDocument::SetClipParam(const ScClipParam& rParam)
bool ScDocument::IsClipboardSource() const
{
ScDocument* pClipDoc = ScModule::GetClipDoc();
- return xPoolHelper.is() && pClipDoc && pClipDoc->xPoolHelper.is() &&
+ return pClipDoc && pClipDoc->bIsClip && pClipDoc->xPoolHelper.is() && xPoolHelper.is() &&
xPoolHelper->GetDocPool() == pClipDoc->xPoolHelper->GetDocPool();
}