X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnickview.cpp;h=bdba62f95caaa19ac753a293c6a49bd4e7031399;hp=6d3f39818aa88e2b10194dd696384d388c1181c0;hb=154f059a1a009f325e0d0d9a834a859696cd4378;hpb=df38e82953be7b676871f7215053a005decb90d1 diff --git a/src/uisupport/nickview.cpp b/src/uisupport/nickview.cpp index 6d3f3981..bdba62f9 100644 --- a/src/uisupport/nickview.cpp +++ b/src/uisupport/nickview.cpp @@ -124,11 +124,7 @@ void NickView::startQuery(const QModelIndex &index) { if(!ircUser || !networkId.isValid()) return; - BufferId bufId = Client::networkModel()->bufferId(networkId, ircUser->nick()); - if(bufId.isValid()) - Client::bufferModel()->switchToBuffer(bufId); - else - Client::userInput(index.data(NetworkModel::BufferInfoRole).value(), QString("/QUERY %1").arg(ircUser->nick())); + Client::bufferModel()->switchToOrStartQuery(networkId, ircUser->nick()); } void NickView::customEvent(QEvent *event) { @@ -144,6 +140,9 @@ void NickView::customEvent(QEvent *event) { if(event->type() != QEvent::User) return; + if(!model()) + return; + QModelIndex topLevelIdx; for(int i = 0; i < model()->rowCount(rootIndex()); i++) { topLevelIdx = model()->index(i, 0, rootIndex());