diff --git a/Engine/source/console/arrayObject.cpp b/Engine/source/console/arrayObject.cpp index 4c18ac306..009803cfb 100644 --- a/Engine/source/console/arrayObject.cpp +++ b/Engine/source/console/arrayObject.cpp @@ -155,8 +155,9 @@ bool ArrayObject::_addKeyFromField( void *object, const char *index, const char S32 ArrayObject::getIndexFromValue( const String &value ) const { + S32 currentIndex = mMin(mCurrentIndex, 0); S32 foundIndex = -1; - for ( S32 i = mCurrentIndex; i < mArray.size(); i++ ) + for ( S32 i = currentIndex; i < mArray.size(); i++ ) { if ( isEqual( mArray[i].value, value ) ) { @@ -167,7 +168,7 @@ S32 ArrayObject::getIndexFromValue( const String &value ) const if( foundIndex < 0 ) { - for ( S32 i = 0; i < mCurrentIndex; i++ ) + for ( S32 i = 0; i < currentIndex; i++ ) { if ( isEqual( mArray[i].value, value ) ) { @@ -184,8 +185,9 @@ S32 ArrayObject::getIndexFromValue( const String &value ) const S32 ArrayObject::getIndexFromKey( const String &key ) const { + S32 currentIndex = mMin(mCurrentIndex, 0); S32 foundIndex = -1; - for ( S32 i = mCurrentIndex; i < mArray.size(); i++ ) + for ( S32 i = currentIndex; i < mArray.size(); i++ ) { if ( isEqual( mArray[i].key, key ) ) { @@ -196,7 +198,7 @@ S32 ArrayObject::getIndexFromKey( const String &key ) const if( foundIndex < 0 ) { - for ( S32 i = 0; i < mCurrentIndex; i++ ) + for ( S32 i = 0; i < currentIndex; i++ ) { if ( isEqual( mArray[i].key, key ) ) { @@ -213,8 +215,9 @@ S32 ArrayObject::getIndexFromKey( const String &key ) const S32 ArrayObject::getIndexFromKeyValue( const String &key, const String &value ) const { + S32 currentIndex = mMin(mCurrentIndex, 0); S32 foundIndex = -1; - for ( S32 i = mCurrentIndex; i < mArray.size(); i++ ) + for ( S32 i = currentIndex; i < mArray.size(); i++ ) { if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) ) { @@ -225,7 +228,7 @@ S32 ArrayObject::getIndexFromKeyValue( const String &key, const String &value ) if ( foundIndex < 0 ) { - for ( S32 i = 0; i < mCurrentIndex; i++ ) + for ( S32 i = 0; i < currentIndex; i++ ) { if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) ) {