X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=9030bfdd5b9924e8575eaf448dbc7776afb8a7e9;hp=1191d88f934f62e4a685d4259bcc7a5478ed9575;hb=df242e4073c38c18389627041341062325c76b70;hpb=6b2f3b5846f1329e9a5ea38192ae9ca6e47920bd diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 1191d88f..9030bfdd 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -469,6 +469,7 @@ void MainWin::removeBufferView(int bufferViewConfigId) { if(dock && actionData.toInt() == bufferViewConfigId) { removeAction(action); _bufferViews.removeAll(dock); + Client::bufferViewOverlay()->removeView(dock->bufferViewId()); dock->deleteLater(); } } @@ -479,6 +480,11 @@ void MainWin::bufferViewToggled(bool enabled) { Q_ASSERT(action); BufferViewDock *dock = qobject_cast(action->parent()); Q_ASSERT(dock); + + // Make sure we don't toggle backlog fetch for a view we've already removed + if(!_bufferViews.contains(dock)) + return; + if(enabled) { Client::bufferViewOverlay()->addView(dock->bufferViewId()); BufferViewConfig *config = dock->config(); @@ -776,6 +782,7 @@ void MainWin::disconnectedFromCore() { if(dock && actionData.toInt() != -1) { removeAction(action); _bufferViews.removeAll(dock); + Client::bufferViewOverlay()->removeView(dock->bufferViewId()); dock->deleteLater(); } }