diff --git a/modules/seq/base/src/sequence_list.cc b/modules/seq/base/src/sequence_list.cc index 52474a3d71b40ccb2498bcc245f4564755fda048..1242720cd4320b9d7f98d93acdde19ddf2223c56 100644 --- a/modules/seq/base/src/sequence_list.cc +++ b/modules/seq/base/src/sequence_list.cc @@ -207,8 +207,7 @@ SequenceList SequenceList::Take(int n) const { this->CheckValidity(); if (n<0) { - return SequenceList(impl_->Slice(impl_->GetCount()+n-1, - impl_->GetCount())); + return SequenceList(impl_->Slice(impl_->GetCount()+n, -n)); } else { return SequenceList(impl_->Slice(0, n)); } @@ -224,8 +223,7 @@ ConstSequenceList ConstSequenceList::Take(int n) const { this->CheckValidity(); if (n<0) { - return ConstSequenceList(impl_->Slice(impl_->GetCount()+n-1, - impl_->GetCount())); + return ConstSequenceList(impl_->Slice(impl_->GetCount()+n, -n)); } else { return ConstSequenceList(impl_->Slice(0, n)); }