Kaydet (Commit) f2ab7b0d authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in ViewIteratorImpl

Change-Id: Ia17fbfbbb76d035c669e797c98a095667187ee80
Reviewed-on: https://gerrit.libreoffice.org/56337
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst a3c2e5c2
......@@ -203,7 +203,7 @@ private:
/// Pointer to the page associated with the current page index. May be NULL.
SdPage* mpPage;
/// Iterator of all objects on the current page.
SdrObjListIter* mpObjectIterator;
std::unique_ptr<SdrObjListIter> mpObjectIterator;
// Don't use this operator.
ViewIteratorImpl& operator= (const ViewIteratorImpl&) = delete;
......
......@@ -553,7 +553,7 @@ IteratorImplBase* ViewIteratorImpl::Clone (IteratorImplBase* pObject) const
if (mpObjectIterator != nullptr)
{
pIterator->mpObjectIterator = new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, !mbDirectionIsForward);
pIterator->mpObjectIterator.reset( new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, !mbDirectionIsForward) );
// No direct way to set the object iterator to the current object.
pIterator->maPosition.mxObject.reset(nullptr);
......@@ -561,7 +561,7 @@ IteratorImplBase* ViewIteratorImpl::Clone (IteratorImplBase* pObject) const
pIterator->maPosition.mxObject.reset(pIterator->mpObjectIterator->Next());
}
else
pIterator->mpObjectIterator = nullptr;
pIterator->mpObjectIterator.reset();
return pIterator;
}
......@@ -598,7 +598,7 @@ void ViewIteratorImpl::GotoNextText()
SetPage (maPosition.mnPageIndex-1);
if (mpPage != nullptr)
mpObjectIterator = new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, !mbDirectionIsForward);
mpObjectIterator.reset( new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, !mbDirectionIsForward) );
if (mpObjectIterator!=nullptr && mpObjectIterator->IsMore())
maPosition.mxObject.reset(mpObjectIterator->Next());
else
......@@ -650,9 +650,9 @@ void ViewIteratorImpl::SetPage (sal_Int32 nPageIndex)
// Set up object list iterator.
if (mpPage != nullptr)
mpObjectIterator = new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, ! mbDirectionIsForward);
mpObjectIterator.reset( new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, ! mbDirectionIsForward) );
else
mpObjectIterator = nullptr;
mpObjectIterator.reset();
// Get object pointer.
if (mpObjectIterator!=nullptr && mpObjectIterator->IsMore())
......@@ -675,11 +675,10 @@ void ViewIteratorImpl::Reverse()
IteratorImplBase::Reverse ();
// Create reversed object list iterator.
delete mpObjectIterator;
if (mpPage != nullptr)
mpObjectIterator = new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, ! mbDirectionIsForward);
mpObjectIterator.reset( new SdrObjListIter(mpPage, SdrIterMode::DeepNoGroups, ! mbDirectionIsForward) );
else
mpObjectIterator = nullptr;
mpObjectIterator.reset();
// Move iterator to the current object.
::tools::WeakReference<SdrObject> xObject = maPosition.mxObject;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment