Allow core-side channel buffer merges
authorselabnayr <ryanb@stmproducts.com>
Fri, 24 Jun 2016 21:20:50 +0000 (14:20 -0700)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 28 Feb 2018 22:22:32 +0000 (23:22 +0100)
Also fix a typo in the warning for a merge that fails the tests.

(cherry picked from commit 809f86daa290cf67f9b30445b26378fff0030672)

src/core/corebuffersyncer.cpp

index fc4812a..ab2ccc3 100644 (file)
@@ -129,13 +129,14 @@ void CoreBufferSyncer::mergeBuffersPermanently(BufferId bufferId1, BufferId buff
     BufferInfo bufferInfo1 = Core::getBufferInfo(_coreSession->user(), bufferId1);
     BufferInfo bufferInfo2 = Core::getBufferInfo(_coreSession->user(), bufferId2);
     if (!bufferInfo1.isValid() || !bufferInfo2.isValid()) {
-        qWarning() << "CoreBufferSyncer::mergeBufferPermanently(): invalid BufferIds:" << bufferId1 << bufferId2 << "for User:" << _coreSession->user();
+        qWarning() << "CoreBufferSyncer::mergeBuffersPermanently(): invalid BufferIds:" << bufferId1 << bufferId2 << "for User:" << _coreSession->user();
         return;
     }
 
-    if (bufferInfo1.type() != BufferInfo::QueryBuffer || bufferInfo2.type() != BufferInfo::QueryBuffer) {
-        qWarning() << "CoreBufferSyncer::mergeBufferPermanently(): only QueryBuffers can be merged!" << bufferId1 << bufferId2;
-        return;
+    if ((bufferInfo1.type() != BufferInfo::QueryBuffer && bufferInfo1.type() != BufferInfo::ChannelBuffer)
+        || (bufferInfo2.type() != BufferInfo::QueryBuffer && bufferInfo2.type() != BufferInfo::ChannelBuffer)) {
+            qWarning() << "CoreBufferSyncer::mergeBuffersPermanently(): only QueryBuffers and/or ChannelBuffers can be merged!" << bufferId1 << bufferId2;
+            return;
     }
 
     if (Core::mergeBuffersPermanently(_coreSession->user(), bufferId1, bufferId2)) {