[Telepathy-commits] [telepathy-qt4/master] Channel: Make sure change signals aren't emitted if channel is not ready.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue Feb 10 19:20:54 PST 2009


---
 TelepathyQt4/Client/channel.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/TelepathyQt4/Client/channel.cpp b/TelepathyQt4/Client/channel.cpp
index 4422fb1..1a3306a 100644
--- a/TelepathyQt4/Client/channel.cpp
+++ b/TelepathyQt4/Client/channel.cpp
@@ -2060,7 +2060,9 @@ void Channel::onGroupFlagsChanged(uint added, uint removed)
     uint groupFlags = mPriv->groupFlags;
     groupFlags |= added;
     groupFlags &= ~removed;
-    if (mPriv->setGroupFlags(groupFlags)) {
+    // just emit groupFlagsChanged and related signals if the flags really
+    // changed and we are ready
+    if (mPriv->setGroupFlags(groupFlags) && isReady()) {
         debug() << "Emitting groupFlagsChanged with" << mPriv->groupFlags <<
             "value" << added << "added" << removed << "removed";
         emit groupFlagsChanged(mPriv->groupFlags, added, removed);
@@ -2196,7 +2198,9 @@ void Channel::onHandleOwnersChanged(const Telepathy::HandleOwnerMap &added,
         }
     }
 
-    if (emitAdded.size() || emitRemoved.size()) {
+    // just emit groupHandleOwnersChanged if it really changed and
+    // we are ready
+    if ((emitAdded.size() || emitRemoved.size()) && isReady()) {
         debug() << "Emitting groupHandleOwnersChanged with" << emitAdded.size() <<
             "added" << emitRemoved.size() << "removed";
         emit groupHandleOwnersChanged(mPriv->groupHandleOwners,
-- 
1.5.6.5




More information about the telepathy-commits mailing list