diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index f5cd3c3..088f12d 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -901,22 +901,16 @@ end ------------------------------------------------------------------------------------------------------------- function MachiningLib.FinalizeSorting() local nShifts = 0 - local nCurrentMachiningIndex = #MACHININGS - while nCurrentMachiningIndex > 1 do - local nCurrentMachiningIndex2 = nCurrentMachiningIndex - 1 - while nCurrentMachiningIndex2 > 0 do - if MACHININGS[nCurrentMachiningIndex].Proc.id == MACHININGS[nCurrentMachiningIndex2].Proc.id - and MACHININGS[nCurrentMachiningIndex].Machining.nFeatureInternalIndex < MACHININGS[nCurrentMachiningIndex2].Machining.nFeatureInternalIndex then - - local Machining = table.remove( MACHININGS, nCurrentMachiningIndex) - table.insert( MACHININGS, nCurrentMachiningIndex2, Machining) + for i = #MACHININGS, 2, -1 do + for j = i - 1, 1, -1 do + if MACHININGS[i].Proc.id == MACHININGS[j].Proc.id + and MACHININGS[i].Machining.nFeatureInternalIndex < MACHININGS[j].Machining.nFeatureInternalIndex then + + MACHININGS[i], MACHININGS[j] = MACHININGS[j], MACHININGS[i] nShifts = nShifts + 1 - else - nCurrentMachiningIndex2 = nCurrentMachiningIndex2 - 1 end end - nCurrentMachiningIndex = nCurrentMachiningIndex - 1 end return MACHININGS, nShifts