Some small stuff, like adding semicolons to Qt macro defs in order to not
[quassel.git] / src / client / client.cpp
index 2b8e96e..b561fd1 100644 (file)
@@ -99,7 +99,6 @@ void Client::init() {
   layoutTimer->setInterval(0);
   layoutTimer->setSingleShot(false);
   connect(layoutTimer, SIGNAL(timeout()), this, SLOT(layoutMsg()));
-
 }
 
 Client::~Client() {
@@ -122,10 +121,11 @@ bool Client::isConnected() {
 void Client::connectToCore(const QVariantMap &conn) {
   // TODO implement SSL
   coreConnectionInfo = conn;
-  if(isConnected() || socket != 0) {
+  if(isConnected()) {
     emit coreConnectionError(tr("Already connected to Core!"));
     return;
   }
+  if(socket != 0) socket->deleteLater();
   if(conn["Host"].toString().isEmpty()) {
     clientMode = LocalCore;
     socket = new QBuffer(this);
@@ -177,6 +177,7 @@ void Client::coreSocketDisconnected() {
   connectedToCore = false;
   emit disconnected();
   socket->deleteLater();
+  blockSize = 0;
 
   /* Clear internal data. Hopefully nothing relies on it at this point. */
   _bufferModel->clear();
@@ -195,7 +196,7 @@ void Client::coreSocketDisconnected() {
   layoutTimer->stop();
 }
 
-void Client::coreSocketStateChanged(QAbstractSocket::SocketState state) { qDebug() << state;
+void Client::coreSocketStateChanged(QAbstractSocket::SocketState state) {
   if(state == QAbstractSocket::UnconnectedState) coreSocketDisconnected();
 }
 
@@ -206,6 +207,7 @@ void Client::recvCoreState(const QVariant &state) {
   syncToCore(state);
 }
 
+// TODO: auth errors
 void Client::syncToCore(const QVariant &coreState) {
   if(!coreState.toMap().contains("SessionState")) {
     emit coreConnectionError(tr("Invalid data received from core!"));
@@ -262,6 +264,7 @@ QStringList Client::sessionDataKeys() {
 
 void Client::coreSocketError(QAbstractSocket::SocketError) {
   emit coreConnectionError(socket->errorString());
+  socket->deleteLater();
 }
 
 void Client::coreHasData() {
@@ -366,13 +369,13 @@ void Client::recvNetworkState(QString net, QVariant state) {
 }
 
 void Client::recvMessage(const Message &msg) {
-  Buffer *b = buffer(msg.buffer);
+  Buffer *b = buffer(msg.buffer());
 
   Buffer::ActivityLevel level = Buffer::OtherActivity;
-  if(msg.type == Message::Plain || msg.type == Message::Notice){
+  if(msg.type() == Message::Plain || msg.type() == Message::Notice){
     level |= Buffer::NewMessage;
   }
-  if(msg.flags & Message::Highlight){
+  if(msg.flags() & Message::Highlight){
     level |= Buffer::Highlight;
   }
   emit bufferActivity(level, b);