(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:
smatz 2008-05-26 21:08:03 +00:00
parent b3d7ca0ceb
commit 75568d2df9

View File

@ -40,7 +40,7 @@ public: // Temporary: public for conversion only
*/ */
bool IsSortable() const 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) 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 */ /* Do not sort if the resort bit is not set */
if (!HASBITS(this->flags, VL_RESORT)) return; 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 *a = this->data;
T *b = a + 1; T *b = a + 1;
@ -213,10 +217,6 @@ public:
} }
} }
} }
this->ResetResortTimer();
CLRBITS(this->flags, VL_RESORT);
} }
/** /**