From ebe61701d9fee4cb21788391b4106a9efc302323 Mon Sep 17 00:00:00 2001 From: trilene Date: Tue, 12 Jan 2021 15:16:59 -0500 Subject: [PATCH] Fix spurious call invite timeout --- src/CallManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CallManager.cpp b/src/CallManager.cpp index f725d49f..0841a079 100644 --- a/src/CallManager.cpp +++ b/src/CallManager.cpp @@ -45,8 +45,9 @@ CallManager::CallManager(QObject *parent) nhlog::ui()->debug("WebRTC: call id: {} - sending offer", callid_); emit newMessage(roomid_, CallInvite{callid_, sdp, 0, timeoutms_}); emit newMessage(roomid_, CallCandidates{callid_, candidates, 0}); - QTimer::singleShot(timeoutms_, this, [this]() { - if (session_.state() == webrtc::State::OFFERSENT) { + std::string callid(callid_); + QTimer::singleShot(timeoutms_, this, [this, callid]() { + if (session_.state() == webrtc::State::OFFERSENT && callid == callid_) { hangUp(CallHangUp::Reason::InviteTimeOut); emit ChatPage::instance()->showNotification( "The remote side failed to pick up.");