X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtopia%2Fnicklistwidget.cpp;h=7c8361f94c2bf9419ced0b56bf8c802b2f36c836;hp=17c47f18ed223e79077a172d97ec14f262395c42;hb=36b2b9680ff608f41c681b8c23865abb06a2464c;hpb=8f6f3932998ffb3778e4e077dfb301da4cf34c1f diff --git a/src/qtopia/nicklistwidget.cpp b/src/qtopia/nicklistwidget.cpp index 17c47f18..7c8361f9 100644 --- a/src/qtopia/nicklistwidget.cpp +++ b/src/qtopia/nicklistwidget.cpp @@ -53,6 +53,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 *))); } } } @@ -62,4 +63,14 @@ 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(); + } +} +