Close all player-associated zoneviews when he quits; fix #3799 (#3800)

This commit is contained in:
ctrlaltca 2019-08-28 02:07:33 +02:00 committed by Zach H
parent b6df5a4ac3
commit 3b98eb77f5
2 changed files with 9 additions and 0 deletions

View file

@ -46,6 +46,11 @@ void GameScene::addPlayer(Player *player)
void GameScene::removePlayer(Player *player) void GameScene::removePlayer(Player *player)
{ {
qDebug() << "GameScene::removePlayer name=" << player->getName(); qDebug() << "GameScene::removePlayer name=" << player->getName();
for (ZoneViewWidget *zone : zoneViews) {
if (zone->getPlayer() == player) {
zone->close();
}
}
players.removeAt(players.indexOf(player)); players.removeAt(players.indexOf(player));
removeItem(player); removeItem(player);
rearrange(); rearrange();

View file

@ -58,6 +58,10 @@ public:
{ {
return zone; return zone;
} }
Player *getPlayer() const
{
return player;
}
void retranslateUi(); void retranslateUi();
protected: protected: