diff --git a/src/sysview/NodeStatusWnd.h b/src/sysview/NodeStatusWnd.h index 653855c0..8bf42a87 100644 --- a/src/sysview/NodeStatusWnd.h +++ b/src/sysview/NodeStatusWnd.h @@ -465,10 +465,8 @@ public: getNetwork()->unlockPeerStatus(); for (auto entry : peerStatus) { - uint32_t peerId = entry.first; json::object peerObj = entry.second; - if (peerObj["peerId"].is()) - peerId = peerObj["peerId"].get(); + uint32_t peerId = peerObj["peerId"].getDefault(entry.first); auto it = std::find_if(m_nodes.begin(), m_nodes.end(), [&](NodeStatusWidget* wdgt) { if (wdgt->peerId == peerId && wdgt->uniqueId == (int32_t)peerId) diff --git a/src/sysview/network/PeerNetwork.cpp b/src/sysview/network/PeerNetwork.cpp index f3128011..29f73048 100644 --- a/src/sysview/network/PeerNetwork.cpp +++ b/src/sysview/network/PeerNetwork.cpp @@ -111,8 +111,9 @@ void PeerNetwork::userPacketHandler(uint32_t peerId, FrameQueue::OpcodePair opco } json::object obj = v.get(); + uint32_t actualPeerId = obj["peerId"].getDefault(peerId); std::lock_guard lock(m_peerStatusMutex); - peerStatus[peerId] = obj; + peerStatus[actualPeerId] = obj; } break;