mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-13 07:10:57 +00:00
(svn r13275) -Fix: sort lists with 2 items, too
-Fix: reset VL_RESORT and resort timer even when no sort was needed
This commit is contained in:
parent
b3d7ca0ceb
commit
75568d2df9
@ -40,7 +40,7 @@ public: // Temporary: public for conversion only
|
||||
*/
|
||||
bool IsSortable() const
|
||||
{
|
||||
return (this->data != NULL && this->items > 2);
|
||||
return (this->data != NULL && this->items >= 2);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -178,12 +178,16 @@ public:
|
||||
* */
|
||||
FORCEINLINE void Sort(SortFunction compare)
|
||||
{
|
||||
/* Do not sort when the list is not sortable */
|
||||
if (!this->IsSortable()) return;
|
||||
|
||||
/* Do not sort if the resort bit is not set */
|
||||
if (!HASBITS(this->flags, VL_RESORT)) return;
|
||||
|
||||
CLRBITS(this->flags, VL_RESORT);
|
||||
|
||||
this->ResetResortTimer();
|
||||
|
||||
/* Do not sort when the list is not sortable */
|
||||
if (!this->IsSortable()) return;
|
||||
|
||||
T *a = this->data;
|
||||
T *b = a + 1;
|
||||
|
||||
@ -213,10 +217,6 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this->ResetResortTimer();
|
||||
|
||||
CLRBITS(this->flags, VL_RESORT);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user