X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fbufferwidget.cpp;h=0ebcffbfbf605eb3ff8ce6a9f0e53b2eefc123eb;hp=e408e71467d6893afdbfb831eb85688eef9ec1de;hb=e9f87d7542d4a9fe0e9c63dec96e93d270667ecd;hpb=89c07686d193fe31e1b3ea45735b3f5a0d1e6cfb diff --git a/src/qtui/bufferwidget.cpp b/src/qtui/bufferwidget.cpp index e408e714..0ebcffbf 100644 --- a/src/qtui/bufferwidget.cpp +++ b/src/qtui/bufferwidget.cpp @@ -109,16 +109,18 @@ void BufferWidget::removeBuffer(BufferId bufferId) { } void BufferWidget::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) { - Q_UNUSED(previous); - QVariant variant; - - variant = current.data(NetworkModel::BufferIdRole); - if(!variant.isValid()) - return; - setCurrentBuffer(variant.value()); + BufferId newBufferId = current.data(NetworkModel::BufferIdRole).value(); + BufferId oldBufferId = previous.data(NetworkModel::BufferIdRole).value(); + if(newBufferId != oldBufferId) + setCurrentBuffer(newBufferId); } void BufferWidget::setCurrentBuffer(BufferId bufferId) { + if(!bufferId.isValid()) { + ui.stackedWidget->setCurrentWidget(ui.page); + return; + } + ChatWidget *chatWidget = 0; Buffer *buf = Client::buffer(bufferId); if(!buf) {