diff --git a/libraries/networking/src/PacketReceiver.cpp b/libraries/networking/src/PacketReceiver.cpp index f59be35dc5..5fc327673d 100644 --- a/libraries/networking/src/PacketReceiver.cpp +++ b/libraries/networking/src/PacketReceiver.cpp @@ -280,7 +280,7 @@ void PacketReceiver::processDatagrams() { auto it = _packetListenerMap.find(packet->getType()); - if (it != _packetListenerMap.end()) { + if (it != _packetListenerMap.end() && it->second.isValid()) { auto listener = it.value(); @@ -367,10 +367,12 @@ void PacketReceiver::processDatagrams() { } } else { - qWarning() << "No listener found for packet type " << nameForPacketType(packet->getType()); - - // insert a dummy listener so we don't print this again - _packetListenerMap.insert(packet->getType(), { nullptr, QMetaMethod() }); + if (it == _packetListenerMap.end()) { + qWarning() << "No listener found for packet type " << nameForPacketType(packet->getType()); + + // insert a dummy listener so we don't print this again + _packetListenerMap.insert(packet->getType(), { nullptr, QMetaMethod() }); + } } _packetListenerLock.unlock();