Skip to content

Commit 8fa8444

Browse files
committed
Fixed searching non-string sets
1 parent 4ed6f80 commit 8fa8444

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/style.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Style::Layer::Filter::Filter(const QJsonArray &json)
108108
_kv = QPair<QByteArray, QVariant>(json.at(1).toString().toUtf8(),
109109
QVariant());
110110
for (int i = 2; i < json.size(); i++)
111-
_set.insert(json.at(i).toString().toUtf8());
111+
_set.append(variant(json.at(i)));
112112
} else if (type == "!in") {
113113
if (json.size() < 3)
114114
INVALID_FILTER(json);
@@ -117,7 +117,7 @@ Style::Layer::Filter::Filter(const QJsonArray &json)
117117
_kv = QPair<QByteArray, QVariant>(json.at(1).toString().toUtf8(),
118118
QVariant());
119119
for (int i = 2; i < json.size(); i++)
120-
_set.insert(json.at(i).toString().toUtf8());
120+
_set.append(variant(json.at(i)));
121121
} else if (type == "has") {
122122
if (json.size() < 2)
123123
INVALID_FILTER(json);
@@ -200,7 +200,7 @@ bool Style::Layer::Filter::match(const PBF::Feature &feature) const
200200
if (!(v = feature.value(_kv.first)))
201201
return _not;
202202
else
203-
return _set.contains((*v).toByteArray()) ^ _not;
203+
return _set.contains(*v) ^ _not;
204204
case Has:
205205
return (feature.value(_kv.first) ? true : false) ^ _not;
206206
case All:

src/style.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class Style : public QObject
7474

7575
Type _type;
7676
bool _not;
77-
QSet<QByteArray> _set;
77+
QVector<QVariant> _set;
7878
QPair<QByteArray, QVariant> _kv;
7979
QVector<Filter> _filters;
8080
};

0 commit comments

Comments
 (0)