Fix Quassel not rejoining newly joined channels
[quassel.git] / src / core / coresession.cpp
index 433abbf..3c8e20c 100644 (file)
@@ -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"
@@ -154,8 +154,6 @@ void CoreSession::saveSessionState() const {
   _bufferSyncer->storeDirtyIds();
   _bufferViewManager->saveBufferViews();
   _networkConfig->save();
-  _aliasManager.save();
-  _ignoreListManager.save();
 }
 
 void CoreSession::restoreSessionState() {
@@ -251,7 +249,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);
@@ -271,7 +270,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;