Fix Quassel not rejoining newly joined channels
authorDaniel Albers <daniel@lbers.com>
Sun, 8 Nov 2009 23:21:09 +0000 (00:21 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 8 Nov 2009 23:36:19 +0000 (00:36 +0100)
Since this is the only current rejoin issue I'm aware off this should
fix #214

src/core/SQL/PostgreSQL/14/insert_buffer.sql
src/core/SQL/SQLite/15/insert_buffer.sql
src/core/postgresqlstorage.cpp
src/core/sqlitestorage.cpp

index e3dd6aa..9116f6e 100644 (file)
@@ -1,3 +1,3 @@
-INSERT INTO buffer (userid, networkid, buffername, buffercname, buffertype)
-VALUES (:userid, :networkid, :buffername, :buffercname, :buffertype)
+INSERT INTO buffer (userid, networkid, buffername, buffercname, buffertype, joined)
+VALUES (:userid, :networkid, :buffername, :buffercname, :buffertype, :joined)
 RETURNING bufferid
index 51202ba..9b86cfd 100644 (file)
@@ -1,2 +1,2 @@
-INSERT INTO buffer (userid, networkid, buffername, buffercname, buffertype)
-VALUES (:userid, :networkid, :buffername, :buffercname, :buffertype)
+INSERT INTO buffer (userid, networkid, buffername, buffercname, buffertype, joined)
+VALUES (:userid, :networkid, :buffername, :buffercname, :buffertype, :joined)
index d8a6284..8d8198f 100644 (file)
@@ -906,6 +906,8 @@ BufferInfo PostgreSqlStorage::bufferInfo(UserId user, const NetworkId &networkId
   createQuery.bindValue(":buffertype", (int)type);
   createQuery.bindValue(":buffername", buffer);
   createQuery.bindValue(":buffercname", buffer.toLower());
+  createQuery.bindValue(":joined", type & BufferInfo::ChannelBuffer ? 1 : 0);
+
   safeExec(createQuery);
 
   if(createQuery.lastError().isValid()) {
index ad610a0..1a9a7f6 100644 (file)
@@ -1037,6 +1037,7 @@ BufferInfo SqliteStorage::bufferInfo(UserId user, const NetworkId &networkId, Bu
       createQuery.bindValue(":buffertype", (int)type);
       createQuery.bindValue(":buffername", buffer);
       createQuery.bindValue(":buffercname", buffer.toLower());
+      createQuery.bindValue(":joined", type & BufferInfo::ChannelBuffer ? 1 : 0);
 
       unlock();
       lockForWrite();