Skip to content
This repository was archived by the owner on Mar 20, 2025. It is now read-only.

Commit 0cd4628

Browse files
committed
Call: Use connect() with lambda captures i/o sender()
1 parent 8663ed9 commit 0cd4628

File tree

2 files changed

+4
-17
lines changed

2 files changed

+4
-17
lines changed

src/client/QXmppCall.cpp

+2-15
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ QXmppCallStream *QXmppCallPrivate::createStream(const QString &media, const QStr
443443

444444
// connect signals
445445
QObject::connect(stream->d->connection, &QXmppIceConnection::localCandidatesChanged,
446-
q, &QXmppCall::localCandidatesChanged);
446+
q, [this, stream]() { q->onLocalCandidatesChanged(stream); });
447447

448448
QObject::connect(stream->d->connection, &QXmppIceConnection::disconnected,
449449
q, &QXmppCall::hangup);
@@ -656,21 +656,8 @@ void QXmppCall::hangup()
656656
///
657657
/// Sends a transport-info to inform the remote party of new local candidates.
658658
///
659-
void QXmppCall::localCandidatesChanged()
659+
void QXmppCall::onLocalCandidatesChanged(QXmppCallStream *stream)
660660
{
661-
// find the stream
662-
QXmppIceConnection *conn = qobject_cast<QXmppIceConnection *>(sender());
663-
QXmppCallStream *stream = nullptr;
664-
for (auto ptr : std::as_const(d->streams)) {
665-
if (ptr->d->connection == conn) {
666-
stream = ptr;
667-
break;
668-
}
669-
}
670-
if (!stream) {
671-
return;
672-
}
673-
674661
QXmppJingleIq iq;
675662
iq.setTo(d->jid);
676663
iq.setType(QXmppIq::Set);

src/client/QXmppCall.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ class QXMPP_EXPORT QXmppCall : public QXmppLoggable
8282
Q_SLOT void addVideo();
8383

8484
private:
85-
Q_SLOT void localCandidatesChanged();
86-
Q_SLOT void terminated();
85+
void onLocalCandidatesChanged(QXmppCallStream *stream);
86+
void terminated();
8787

8888
QXmppCall(const QString &jid, QXmppCall::Direction direction, QXmppCallManager *parent);
8989

0 commit comments

Comments
 (0)