projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add SslInfoDlg as a nice way to show information about an SSL connection
[quassel.git]
/
src
/
common
/
signalproxy.cpp
diff --git
a/src/common/signalproxy.cpp
b/src/common/signalproxy.cpp
index
a738715
..
17a44c4
100644
(file)
--- a/
src/common/signalproxy.cpp
+++ b/
src/common/signalproxy.cpp
@@
-231,16
+231,17
@@
SignalProxy::SignalProxy(ProxyMode mode, QIODevice* device, QObject* parent)
}
SignalProxy::~SignalProxy() {
}
SignalProxy::~SignalProxy() {
- QList<SyncableObject *> syncObjects;
QHash<QByteArray, ObjectId>::iterator classIter = _syncSlave.begin();
while(classIter != _syncSlave.end()) {
QHash<QByteArray, ObjectId>::iterator classIter = _syncSlave.begin();
while(classIter != _syncSlave.end()) {
- syncObjects << classIter->values();
+ ObjectId::iterator objIter = classIter->begin();
+ while(objIter != classIter->end()) {
+ SyncableObject *obj = objIter.value();
+ objIter = classIter->erase(objIter);
+ obj->stopSynchronize(this);
+ }
classIter++;
}
_syncSlave.clear();
classIter++;
}
_syncSlave.clear();
- foreach(SyncableObject *obj, syncObjects) {
- obj->stopSynchronize(this);
- }
removeAllPeers();
}
removeAllPeers();
}
@@
-414,10
+415,6
@@
void SignalProxy::renameObject(const SyncableObject *obj, const QString &newname
}
void SignalProxy::objectRenamed(const QByteArray &classname, const QString &newname, const QString &oldname) {
}
void SignalProxy::objectRenamed(const QByteArray &classname, const QString &newname, const QString &oldname) {
- qDebug() << "SignalProxy::objectRenamed" << classname << newname << oldname;
- if(proxyMode() == Server)
- return;
-
if(_syncSlave.contains(classname) && _syncSlave[classname].contains(oldname) && oldname != newname) {
SyncableObject *obj = _syncSlave[classname][newname] = _syncSlave[classname].take(oldname);
requestInit(obj);
if(_syncSlave.contains(classname) && _syncSlave[classname].contains(oldname) && oldname != newname) {
SyncableObject *obj = _syncSlave[classname][newname] = _syncSlave[classname].take(oldname);
requestInit(obj);
@@
-935,6
+932,8
@@
void SignalProxy::setInitData(SyncableObject *obj, const QVariantMap &properties
void SignalProxy::sendHeartBeat() {
QVariantList heartBeatParams;
heartBeatParams << QTime::currentTime();
void SignalProxy::sendHeartBeat() {
QVariantList heartBeatParams;
heartBeatParams << QTime::currentTime();
+ QList<IODevicePeer *> toClose;
+
PeerHash::iterator peer = _peers.begin();
while(peer != _peers.end()) {
if((*peer)->type() == AbstractPeer::IODevicePeer) {
PeerHash::iterator peer = _peers.begin();
while(peer != _peers.end()) {
if((*peer)->type() == AbstractPeer::IODevicePeer) {
@@
-943,15
+942,18
@@
void SignalProxy::sendHeartBeat() {
if(ioPeer->sentHeartBeats > 0) {
updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval());
}
if(ioPeer->sentHeartBeats > 0) {
updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval());
}
- if(ioPeer->sentHeartBeats > 1) {
- qWarning() << "SignalProxy: Disconnecting peer:" << ioPeer->address()
- << "(didn't receive a heartbeat for over" << ioPeer->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)";
- ioPeer->close();
- } else {
+ if(ioPeer->sentHeartBeats > 1)
+ toClose.append(ioPeer);
+ else
ioPeer->sentHeartBeats++;
ioPeer->sentHeartBeats++;
- }
}
}
- peer++;
+ ++peer;
+ }
+
+ foreach(IODevicePeer *ioPeer, toClose) {
+ qWarning() << "SignalProxy: Disconnecting peer:" << ioPeer->address()
+ << "(didn't receive a heartbeat for over" << ioPeer->sentHeartBeats * _heartBeatTimer.interval() / 1000 << "seconds)";
+ ioPeer->close();
}
}
}
}
@@
-1172,7
+1174,6
@@
const QHash<int, int> &SignalProxy::ExtendedMetaObject::receiveMap() {
if(receiverId != -1) {
receiveMap[i] = receiverId;
if(receiverId != -1) {
receiveMap[i] = receiverId;
- qDebug() << requestSlot.signature() << _meta->method(receiverId).signature() << "---" << i << receiverId;
}
}
_receiveMap = receiveMap;
}
}
_receiveMap = receiveMap;