diff --git a/core/AlertEvaluator.cpp b/core/AlertEvaluator.cpp index abdf3714..70647fc1 100644 --- a/core/AlertEvaluator.cpp +++ b/core/AlertEvaluator.cpp @@ -343,11 +343,11 @@ bool AlertRule::match(const DxSpot &spot) const && (sourceMap & SpotAlert::DXSPOT) && (dxCountry == 0 || dxCountry == spot.dxcc.dxcc) && (spot.status & dxLogStatusMap) - && (mode == "*" || mode.contains("|" + spot.modeGroupString)) + && (mode == "*" || (!spot.modeGroupString.isEmpty() && mode.contains("|" + spot.modeGroupString))) && (band == "*" || (!spot.band.isEmpty() && band.contains("|" + spot.band))) && (spotterCountry == 0 || spotterCountry == spot.dxcc_spotter.dxcc ) - && (dxContinent == "*" || dxContinent.contains("|" + spot.dxcc.cont)) - && (spotterContinent == "*" || spotterContinent.contains("|" + spot.dxcc_spotter.cont)) + && (dxContinent == "*" || (!spot.dxcc.cont.isEmpty() && dxContinent.contains("|" + spot.dxcc.cont))) + && (spotterContinent == "*" || (!spot.dxcc_spotter.cont.isEmpty() && spotterContinent.contains("|" + spot.dxcc_spotter.cont))) && (dxMember == QStringList("*") || spot.memberList2Set().intersects(dxMemberSet)) ) {