summaryrefslogtreecommitdiff
path: root/sd/source/core/drawdoc3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/core/drawdoc3.cxx')
-rw-r--r--sd/source/core/drawdoc3.cxx17
1 files changed, 11 insertions, 6 deletions
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index 63ce713db394..71b792d47739 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -353,7 +353,7 @@ sal_Bool SdDrawDocument::InsertBookmark(
if ( bOK && bInsertPages )
{
// Zuerst werden alle Seiten-Bookmarks eingefuegt
- bOK = InsertBookmarkAsPage(rBookmarkList, rExchangeList, bLink, bReplace,
+ bOK = InsertBookmarkAsPage(rBookmarkList, &rExchangeList, bLink, bReplace,
nInsertPos, bNoDialogs, pBookmarkDocSh, bCopy, sal_True, sal_False);
}
@@ -369,7 +369,7 @@ sal_Bool SdDrawDocument::InsertBookmark(
sal_Bool SdDrawDocument::InsertBookmarkAsPage(
const std::vector<rtl::OUString> &rBookmarkList,
- std::vector<rtl::OUString> &rExchangeList, // Liste der zu verwendenen Namen
+ std::vector<rtl::OUString> *pExchangeList, // Liste der zu verwendenen Namen
sal_Bool bLink,
sal_Bool bReplace,
sal_uInt16 nInsertPos,
@@ -816,12 +816,16 @@ sal_Bool SdDrawDocument::InsertBookmarkAsPage(
nSdPageEnd = nSdPageStart + nReplacedStandardPages - 1;
}
- std::vector<rtl::OUString>::iterator pExchangeIter = rExchangeList.begin();
+ std::vector<rtl::OUString>::iterator pExchangeIter;
+
+ if (pExchangeList)
+ pExchangeIter = pExchangeList->begin();
+
for (sal_uInt16 nSdPage = nSdPageStart; nSdPage <= nSdPageEnd; nSdPage++)
{
pRefPage = GetSdPage(nSdPage, PK_STANDARD);
- if (pExchangeIter != rExchangeList.end())
+ if (pExchangeList && pExchangeIter != pExchangeList->end())
{
// Zuverwendener Name aus Exchange-Liste holen
String aExchangeName (*pExchangeIter);
@@ -879,7 +883,8 @@ sal_Bool SdDrawDocument::InsertBookmarkAsPage(
}
///Remove processed elements, to avoid doings hacks in InsertBookmarkAsObject
- rExchangeList.erase(rExchangeList.begin(),pExchangeIter);
+ if ( pExchangeList )
+ pExchangeList->erase(pExchangeList->begin(),pExchangeIter);
for (sal_uInt16 nPage = nMPageCount; nPage < nNewMPageCount; nPage++)
{
@@ -930,7 +935,7 @@ sal_Bool SdDrawDocument::InsertBookmarkAsPage(
sal_Bool SdDrawDocument::InsertBookmarkAsObject(
const std::vector<rtl::OUString> &rBookmarkList,
- std::vector<rtl::OUString> &rExchangeList, // Liste der zu verwendenen Namen
+ const std::vector<rtl::OUString> &rExchangeList, // Liste der zu verwendenen Namen
sal_Bool /* bLink */,
::sd::DrawDocShell* pBookmarkDocSh,
Point* pObjPos, bool bCalcObjCount)