summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2013-08-27 07:25:33 +0200
committerThorsten Behrens <tbehrens@suse.com>2013-08-27 13:11:25 +0000
commit8763c77c39507284d45eb79c29977eb0174b66f1 (patch)
tree1498effe35ba10df2015deb5d59c06537f5a36b8
parent5e9137c9635141430b946aae2d0317c432a471ef (diff)
Simplify a bit iterator + remove double check
Change-Id: I4a12bacc1a3774741cf4bf3eb6770e16d0cecc6e Reviewed-on: https://gerrit.libreoffice.org/5639 Reviewed-by: Thorsten Behrens <tbehrens@suse.com> Tested-by: Thorsten Behrens <tbehrens@suse.com>
-rw-r--r--toolkit/source/controls/tree/treedatamodel.cxx21
1 files changed, 7 insertions, 14 deletions
diff --git a/toolkit/source/controls/tree/treedatamodel.cxx b/toolkit/source/controls/tree/treedatamodel.cxx
index 891525d9d913..292d68555dcf 100644
--- a/toolkit/source/controls/tree/treedatamodel.cxx
+++ b/toolkit/source/controls/tree/treedatamodel.cxx
@@ -436,23 +436,16 @@ void SAL_CALL MutableTreeNode::removeChildByIndex( sal_Int32 nChildIndex ) throw
{
::osl::Guard< ::osl::Mutex > aGuard( maMutex );
- MutableTreeNodeRef xImpl;
+ if( (nChildIndex < 0) || (nChildIndex >= (sal_Int32)maChildren.size()) )
+ throw IndexOutOfBoundsException();
- if( (nChildIndex >= 0) && (nChildIndex < (sal_Int32)maChildren.size()) )
- {
- TreeNodeVector::iterator aIter( maChildren.begin() );
- while( nChildIndex-- && (aIter != maChildren.end()) )
- ++aIter;
+ MutableTreeNodeRef xImpl;
- if( aIter != maChildren.end() )
- {
- xImpl = (*aIter);
- maChildren.erase( aIter );
- }
- }
+ TreeNodeVector::iterator aIter( maChildren.begin() );
+ std::advance(aIter, nChildIndex);
- if( !xImpl.is() )
- throw IndexOutOfBoundsException();
+ xImpl = (*aIter);
+ maChildren.erase( aIter );
xImpl->setParent(0);
xImpl->mbIsInserted = false;