--- a/QTfrontend/hwform.cpp Thu Jan 18 19:59:04 2007 +0000
+++ b/QTfrontend/hwform.cpp Thu Jan 18 20:29:28 2007 +0000
@@ -180,6 +180,9 @@
void HWForm::GoBack()
{
+ if (!PagesStack.isEmpty() && PagesStack.top() == ID_PAGE_NET) {
+ NetDisconnect();
+ }
quint8 id = PagesStack.isEmpty() ? ID_PAGE_MAIN : PagesStack.pop();
OnPageShown(id);
ui.Pages->setCurrentIndex(id);
@@ -280,7 +283,6 @@
void HWForm::NetDisconnect()
{
hwnet->Disconnect();
- GoBack();
delete hwnet;
hwnet=0;
if(pnetserver) {
--- a/QTfrontend/netserver.cpp Thu Jan 18 19:59:04 2007 +0000
+++ b/QTfrontend/netserver.cpp Thu Jan 18 20:29:28 2007 +0000
@@ -59,6 +59,9 @@
void HWNetServer::ClientDisconnect(HWConnectedClient* client)
{
QList<HWConnectedClient*>::iterator it=std::find(connclients.begin(), connclients.end(), client);
+ for(QList<QStringList>::iterator tmIt=(*it)->m_teamsCfg.begin(); tmIt!=(*it)->m_teamsCfg.end(); ++tmIt) {
+ sendOthers(*it, QString("REMOVETEAM:")+delimeter+*(tmIt->begin()));
+ }
connclients.erase(it);
//teamChanged();
}