diff --git a/src/Table.cpp b/src/Table.cpp index f57284fe1..07337f05e 100644 --- a/src/Table.cpp +++ b/src/Table.cpp @@ -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) {