From 4717f22916f756fb4c020258edf76e31b52888a7 Mon Sep 17 00:00:00 2001 From: DavidWyand-GG Date: Mon, 11 Nov 2013 18:51:53 -0500 Subject: [PATCH] Fix for ArrayObject sorting - This is a fix for issue https://github.com/GarageGames/Torque3D/issues/228 - This fixes sortna() and sortnd() as outlined in the issue. - This also fixes sortnka() and sortnkd(), as well as the sorting method that take a console function as a parameter. --- Engine/source/console/arrayObject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Engine/source/console/arrayObject.cpp b/Engine/source/console/arrayObject.cpp index 4d9a565f6..28f38868c 100644 --- a/Engine/source/console/arrayObject.cpp +++ b/Engine/source/console/arrayObject.cpp @@ -76,7 +76,7 @@ S32 QSORT_CALLBACK ArrayObject::_valueNumCompare( const void* a, const void* b ) F32 bCol = dAtof(eb->value); F32 result = aCol - bCol; S32 res = result < 0 ? -1 : (result > 0 ? 1 : 0); - return ( smDecreasing ? res : -res ); + return ( smDecreasing ? -res : res ); } S32 QSORT_CALLBACK ArrayObject::_keyCompare( const void* a, const void* b ) @@ -95,7 +95,7 @@ S32 QSORT_CALLBACK ArrayObject::_keyNumCompare( const void* a, const void* b ) const char* bCol = eb->key; F32 result = dAtof(aCol) - dAtof(bCol); S32 res = result < 0 ? -1 : (result > 0 ? 1 : 0); - return ( smDecreasing ? res : -res ); + return ( smDecreasing ? -res : res ); } S32 QSORT_CALLBACK ArrayObject::_keyFunctionCompare( const void* a, const void* b ) @@ -110,7 +110,7 @@ S32 QSORT_CALLBACK ArrayObject::_keyFunctionCompare( const void* a, const void* S32 result = dAtoi( Con::execute( 3, argv ) ); S32 res = result < 0 ? -1 : ( result > 0 ? 1 : 0 ); - return ( smDecreasing ? res : -res ); + return ( smDecreasing ? -res : res ); } S32 QSORT_CALLBACK ArrayObject::_valueFunctionCompare( const void* a, const void* b ) @@ -125,7 +125,7 @@ S32 QSORT_CALLBACK ArrayObject::_valueFunctionCompare( const void* a, const void S32 result = dAtoi( Con::execute( 3, argv ) ); S32 res = result < 0 ? -1 : ( result > 0 ? 1 : 0 ); - return ( smDecreasing ? res : -res ); + return ( smDecreasing ? -res : res ); }