[telepathy-qt4/master] StreamedMediaChannel: Do not emit localHoldStateChanged if local hold state did not change.
Andre Moreira Magalhaes (andrunko)
andre.magalhaes at collabora.co.uk
Thu Aug 13 15:54:09 PDT 2009
---
TelepathyQt4/streamed-media-channel.cpp | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/TelepathyQt4/streamed-media-channel.cpp b/TelepathyQt4/streamed-media-channel.cpp
index daf149d..3f3999c 100644
--- a/TelepathyQt4/streamed-media-channel.cpp
+++ b/TelepathyQt4/streamed-media-channel.cpp
@@ -995,14 +995,22 @@ void StreamedMediaChannel::gotLocalHoldState(QDBusPendingCallWatcher *watcher)
void StreamedMediaChannel::onLocalHoldStateChanged(uint localHoldState,
uint localHoldStateReason)
{
+ bool changed = false;
+ if (mPriv->localHoldState != static_cast<LocalHoldState>(localHoldState) ||
+ mPriv->localHoldStateReason != static_cast<LocalHoldStateReason>(localHoldStateReason)) {
+ changed = true;
+ }
+
mPriv->localHoldState = static_cast<LocalHoldState>(localHoldState);
mPriv->localHoldStateReason = static_cast<LocalHoldStateReason>(localHoldStateReason);
if (!isReady(FeatureLocalHoldState)) {
mPriv->readinessHelper->setIntrospectCompleted(FeatureLocalHoldState, true);
} else {
- emit localHoldStateChanged(mPriv->localHoldState,
- mPriv->localHoldStateReason);
+ if (changed) {
+ emit localHoldStateChanged(mPriv->localHoldState,
+ mPriv->localHoldStateReason);
+ }
}
}
--
1.5.6.5
More information about the telepathy-commits
mailing list