Merge branch 'sort' into 1.9.3

This commit is contained in:
Paul Beckingham 2010-07-29 14:50:54 -04:00
commit 9cab648d8a

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