X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=7f2d808f46525824dcf5b6f75b9c766cf38afec0;hp=d81f9c009425cf88429e5c1b5b742e327c22cfc1;hb=789f2172629a19a76e2c30646efc31010d24cd8a;hpb=27302bba72a29977e81b9a0b2d8cde3a62ebc818 diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index d81f9c00..7f2d808f 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -84,8 +84,8 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) loadSettings(); initScriptEngine(); - connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferSyncer, SLOT(storeDirtyIds())); - connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), _bufferViewManager, SLOT(saveBufferViews())); + // periodically save our session state + connect(&(Core::instance()->syncTimer()), SIGNAL(timeout()), this, SLOT(saveSessionState())); p->synchronize(_bufferSyncer); p->synchronize(&aliasManager()); @@ -154,6 +154,8 @@ void CoreSession::saveSessionState() const { _bufferSyncer->storeDirtyIds(); _bufferViewManager->saveBufferViews(); _networkConfig->save(); + _aliasManager.save(); + _ignoreListManager.save(); } void CoreSession::restoreSessionState() { @@ -248,8 +250,9 @@ void CoreSession::processMessages() { const RawMessage &rawMsg = _messageQueue.first(); BufferInfo bufferInfo = Core::bufferInfo(user(), rawMsg.networkId, rawMsg.bufferType, rawMsg.target); Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags); - - networkName = _networks.value(bufferInfo.networkId())->networkName(); + + CoreNetwork *currentNetwork = network(bufferInfo.networkId()); + networkName = currentNetwork ? currentNetwork->networkName() : QString(""); // if message is ignored with "HardStrictness" we discard it here if(_ignoreListManager.match(msg, networkName) != IgnoreListManager::HardStrictness) { Core::storeMessage(msg); @@ -269,7 +272,8 @@ void CoreSession::processMessages() { } Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags); - networkName = _networks.value(bufferInfo.networkId())->networkName(); + CoreNetwork *currentNetwork = network(bufferInfo.networkId()); + networkName = currentNetwork ? currentNetwork->networkName() : QString(""); // if message is ignored with "HardStrictness" we discard it here if(_ignoreListManager.match(msg, networkName) == IgnoreListManager::HardStrictness) continue;