From 4a05f30155bdb27aa9d11e5932cdfa57e117047d Mon Sep 17 00:00:00 2001 From: John Date: Sat, 12 Feb 2022 11:28:57 +0100 Subject: [PATCH] missing add to poll queue --- src/ebusd/mqtthandler.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ebusd/mqtthandler.cpp b/src/ebusd/mqtthandler.cpp index 1ea28a1a..bb815c45 100755 --- a/src/ebusd/mqtthandler.cpp +++ b/src/ebusd/mqtthandler.cpp @@ -1415,7 +1415,9 @@ void MqttHandler::run() { } if (!message->isWrite()) { // only wait for data on read messages or set their poll prio - if (filterSeen > 1 && (!message->getPollPriority() || message->getPollPriority() > filterSeen)) { + if (filterSeen > 1 && (!message->getPollPriority() || message->getPollPriority() > filterSeen) + && (filterPriority == 0 || filterSeen <= filterPriority) + ) { // check for poll prio adjustment after all other filters checkPollAdjust = true; } else { @@ -1442,8 +1444,13 @@ void MqttHandler::run() { if (!FileReader::matches(direction, filterDirection, true, true)) { continue; } - if ((checkPollAdjust && !message->setPollPriority(filterSeen)) - || (filterPriority>0 && (message->getPollPriority()==0 || message->getPollPriority()>filterPriority))) { + if (checkPollAdjust) { + if (!message->setPollPriority(filterSeen)) { + continue; + } + m_messages->addPollMessage(false, message); + } + if (filterPriority>0 && (message->getPollPriority()==0 || message->getPollPriority()>filterPriority)) { continue; }