X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fnicklistwidget.cpp;h=f2c51306e28689b3329a4bbe423e38822b45abdf;hp=024ebeb4136680e6fc9f159a7c199e0ba221c4a6;hb=8b68bdc964968d1d988242c37a598ba88cd0551c;hpb=ec17201104f75eafaddccc174de8709b42b15ccb diff --git a/src/qtui/nicklistwidget.cpp b/src/qtui/nicklistwidget.cpp index 024ebeb4..f2c51306 100644 --- a/src/qtui/nicklistwidget.cpp +++ b/src/qtui/nicklistwidget.cpp @@ -5,7 +5,7 @@ * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -44,6 +44,7 @@ void NickListWidget::setBuffer(Buffer *buf) { nickViews[buf] = view; ui.stackedWidget->addWidget(view); ui.stackedWidget->setCurrentWidget(view); + connect(buf, SIGNAL(destroyed(QObject *)), this, SLOT(bufferDestroyed(QObject *))); } } } @@ -53,4 +54,13 @@ void NickListWidget::reset() { ui.stackedWidget->removeWidget(view); view->deleteLater(); } + nickViews.clear(); +} + +void NickListWidget::bufferDestroyed(QObject *buf) { + if(nickViews.contains((Buffer *)buf)) { + NickView *view = nickViews.take((Buffer *)buf); + ui.stackedWidget->removeWidget(view); + view->deleteLater(); + } }