FilterParser: Add check for empty column

This commit is contained in:
Jonas Kvinge
2024-09-20 23:51:25 +02:00
parent 84ff163b34
commit ffd8c88b1f

View File

@@ -235,6 +235,7 @@ FilterTree *FilterParser::createSearchTermTreeNode(const QString &column, const
FilterParserSearchTermComparator *cmp = nullptr; FilterParserSearchTermComparator *cmp = nullptr;
if (!column.isEmpty()) {
if (Song::kTextSearchColumns.contains(column, Qt::CaseInsensitive)) { if (Song::kTextSearchColumns.contains(column, Qt::CaseInsensitive)) {
if (prefix == QLatin1Char('=') || prefix == QLatin1String("==")) { if (prefix == QLatin1Char('=') || prefix == QLatin1String("==")) {
cmp = new FilterParserTextEqComparator(value); cmp = new FilterParserTextEqComparator(value);
@@ -269,7 +270,7 @@ FilterTree *FilterParser::createSearchTermTreeNode(const QString &column, const
cmp = new FilterParserIntLeComparator(number); cmp = new FilterParserIntLeComparator(number);
} }
else { else {
cmp = new FilterParserIntEqComparator(number); cmp = new FilterParserDefaultComparator(value);
} }
} }
} }
@@ -296,7 +297,7 @@ FilterTree *FilterParser::createSearchTermTreeNode(const QString &column, const
cmp = new FilterParserUIntLeComparator(number); cmp = new FilterParserUIntLeComparator(number);
} }
else { else {
cmp = new FilterParserUIntEqComparator(number); cmp = new FilterParserInt64EqComparator(number);
} }
} }
} }
@@ -354,6 +355,7 @@ FilterTree *FilterParser::createSearchTermTreeNode(const QString &column, const
cmp = new FilterParserFloatEqComparator(rating); cmp = new FilterParserFloatEqComparator(rating);
} }
} }
}
if (cmp) { if (cmp) {
return new FilterColumnTerm(column, cmp); return new FilterColumnTerm(column, cmp);