summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Power <noel.power@novell.com>2011-07-29 14:11:49 +0100
committerNoel Power <noel.power@novell.com>2011-07-29 14:31:08 +0100
commit229ca0c28a4c4e2f58dcb1ec66a1360cfb9a591a (patch)
treefd716ec6b58200ec44851383221d51b7a54e14fa
parent368e30f391fbcc826bba2150b33f68547ec63947 (diff)
bnc#707486, use correct CopyRangeNamesToClip for bUseRangeForVBA
also ensure relevant checks regarding pMarks are only applied for !bUseRangeForVBA
-rw-r--r--sc/source/core/data/document.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 0c229b915..8f2f3ed8f 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1867,7 +1867,7 @@ void ScDocument::CopyToClip(const ScClipParam& rClipParam,
ScDocument* pClipDoc, const ScMarkData* pMarks,
bool bAllTabs, bool bKeepScenarioFlags, bool bIncludeObjects, bool bCloneNoteCaptions, bool bUseRangeForVBA )
{
- OSL_ENSURE( bAllTabs || pMarks, "CopyToClip: ScMarkData fails" );
+ OSL_ENSURE( !bUseRangeForVBA && ( bAllTabs || pMarks ), "CopyToClip: ScMarkData fails" );
if (bIsClip)
return;
@@ -1894,14 +1894,17 @@ void ScDocument::CopyToClip(const ScClipParam& rClipParam,
else
pClipDoc->ResetClip(this, pMarks);
- CopyRangeNamesToClip(pClipDoc, aClipRange, pMarks, bAllTabs);
+ if ( bUseRangeForVBA )
+ CopyRangeNamesToClip(pClipDoc, aClipRange, nTab );
+ else
+ CopyRangeNamesToClip(pClipDoc, aClipRange, pMarks, bAllTabs);
for ( ; i < nEndTab; ++i)
{
if (!maTabs[i] || i >= static_cast<SCTAB>(pClipDoc->maTabs.size()) || !pClipDoc->maTabs[i])
continue;
- if (pMarks && !pMarks->GetTableSelect(i))
+ if ( !bUseRangeForVBA && ( pMarks && !pMarks->GetTableSelect(i) ) )
continue;
maTabs[i]->CopyToClip(rClipParam.maRanges, pClipDoc->maTabs[i], bKeepScenarioFlags, bCloneNoteCaptions);