Code Cleanup

- Reorganized sort_compare code to make certain shortcuts occur
  earlier in processing.
This commit is contained in:
Paul Beckingham 2010-07-23 20:57:36 -07:00
parent 30cb5fa4f4
commit a3f1aba6f0

View file

@ -604,6 +604,14 @@ bool sort_compare (int left, int right)
Grid::Cell* cell_left = table->mData.byRow (left, column);
Grid::Cell* cell_right = table->mData.byRow (right, column);
// Equally NULL - next column.
if (cell_left == NULL && cell_right == NULL)
continue;
// Equal - next column
if (cell_left && cell_right && *cell_left == *cell_right)
continue;
// nothing < something.
if (cell_left == NULL && cell_right != NULL)
return (sort_type == Table::ascendingNumeric ||
@ -622,14 +630,6 @@ bool sort_compare (int left, int right)
sort_type == Table::ascendingDueDate ||
sort_type == Table::ascendingPeriod) ? false : true;
// Equally NULL - next column.
if (cell_left == NULL && cell_right == NULL)
continue;
// Equal - next column
if (cell_left && cell_right && *cell_left == *cell_right)
continue;
// Differing data - do a proper comparison.
if (cell_left && cell_right)
{