Changing the behavior how Quassel Events are processed.
[quassel.git] / src / core / corenetwork.cpp
index 9485499..d18ddca 100644 (file)
@@ -77,6 +77,7 @@ CoreNetwork::CoreNetwork(const NetworkId &networkid, CoreSession *session)
   connect(&socket, SIGNAL(encrypted()), this, SLOT(socketInitialized()));
   connect(&socket, SIGNAL(sslErrors(const QList<QSslError> &)), this, SLOT(sslErrors(const QList<QSslError> &)));
 #endif
+  connect(this, SIGNAL(newEvent(Event *)), coreSession()->eventManager(), SLOT(postEvent(Event *)));
 }
 
 CoreNetwork::~CoreNetwork() {
@@ -275,6 +276,9 @@ Cipher *CoreNetwork::cipher(const QString &target) const {
   if(target.isEmpty())
     return 0;
 
+  if(!Cipher::neededFeaturesAvailable())
+    return 0;
+
   QByteArray key = cipherKey(target);
   if(key.isEmpty())
     return 0;
@@ -327,7 +331,7 @@ void CoreNetwork::socketHasData() {
 #else
     event->setTimestamp(QDateTime::currentDateTime().toUTC());
 #endif
-    coreSession()->eventManager()->sendEvent(event);
+    emit newEvent(event);
   }
 }