X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoresession.cpp;h=58af49a41ed1b51b49769cdebcc5795c9c27f53b;hb=33d1a8a2d620c37a67d85c6948d9d1926baedfbb;hp=371d7add011506f852dde3c9e0a811cc09b17735;hpb=934ff82a6554ea72ea449c561f53804dbafc20f0;p=quassel.git diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 371d7add..58af49a4 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -22,7 +22,7 @@ #include "core.h" #include "coresession.h" -#include "userinputhandler.h" +#include "coreuserinputhandler.h" #include "signalproxy.h" #include "corebuffersyncer.h" #include "corebacklogmanager.h" @@ -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() { @@ -249,7 +251,8 @@ void CoreSession::processMessages() { 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;