X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fbufferviewfilter.cpp;h=687cd801a6b39fd9319de47486ed69310fa0e0f1;hp=5727d348fbee58ccebc63652a083c9ffe9dc0c6f;hb=34a9a0d412b1acc4234ebc316fa4586e006b91bf;hpb=709d88e1d7cede7fee485b85798413468f324abe diff --git a/src/uisupport/bufferviewfilter.cpp b/src/uisupport/bufferviewfilter.cpp index 5727d348..687cd801 100644 --- a/src/uisupport/bufferviewfilter.cpp +++ b/src/uisupport/bufferviewfilter.cpp @@ -216,13 +216,15 @@ bool BufferViewFilter::filterAcceptBuffer(const QModelIndex &source_bufferIndex) if(!(config()->allowedBufferTypes() & (BufferInfo::Type)source_bufferIndex.data(NetworkModel::BufferTypeRole).toInt())) return false; + // the following dynamic filters may not trigger if the buffer is currently selected. + if(bufferId == Client::bufferModel()->standardSelectionModel()->currentIndex().data(NetworkModel::BufferIdRole).value()) + return true; + if(config()->hideInactiveBuffers() && !source_bufferIndex.data(NetworkModel::ItemActiveRole).toBool() && activityLevel <= BufferInfo::OtherActivity) return false; - if(config()->minimumActivity() > activityLevel) { - if(bufferId != Client::bufferModel()->standardSelectionModel()->currentIndex().data(NetworkModel::BufferIdRole).value()) - return false; - } + if(config()->minimumActivity() > activityLevel) + return false; return true; }