From 09775aa19a0480243bbb1a6aec9edbb2f52c2748 Mon Sep 17 00:00:00 2001 From: Noel Power Date: Fri, 29 Jul 2011 14:11:49 +0100 Subject: bnc#707486, use correct CopyRangeNamesToClip for bUseRangeForVBA also ensure relevant checks regarding pMarks are only applied for !bUseRangeForVBA --- sc/source/core/data/document.cxx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'sc') diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 27078585df16..ec5cd5241b5a 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(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); -- cgit