X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fnicklistwidget.cpp;h=490f9b60468cca94b3bbdedaf8b94275a96155d4;hp=29a7d9b778f5d80508d0547ad1b9ad012a28c92c;hb=8699dd758516d0ded076811e8ea656adc95e69d0;hpb=d6b056e936ec441258d291b7a8af7b83f9f53016 diff --git a/src/qtui/nicklistwidget.cpp b/src/qtui/nicklistwidget.cpp index 29a7d9b7..490f9b60 100644 --- a/src/qtui/nicklistwidget.cpp +++ b/src/qtui/nicklistwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel IRC Team * + * Copyright (C) 2005-08 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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(); + } }