From 3b98eb77f5f68e06f5c1dd2421219ba72cfe887b Mon Sep 17 00:00:00 2001 From: ctrlaltca Date: Wed, 28 Aug 2019 02:07:33 +0200 Subject: [PATCH] Close all player-associated zoneviews when he quits; fix #3799 (#3800) --- cockatrice/src/gamescene.cpp | 5 +++++ cockatrice/src/zoneviewwidget.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/cockatrice/src/gamescene.cpp b/cockatrice/src/gamescene.cpp index d45d6873..8fab1d7e 100644 --- a/cockatrice/src/gamescene.cpp +++ b/cockatrice/src/gamescene.cpp @@ -46,6 +46,11 @@ void GameScene::addPlayer(Player *player) void GameScene::removePlayer(Player *player) { qDebug() << "GameScene::removePlayer name=" << player->getName(); + for (ZoneViewWidget *zone : zoneViews) { + if (zone->getPlayer() == player) { + zone->close(); + } + } players.removeAt(players.indexOf(player)); removeItem(player); rearrange(); diff --git a/cockatrice/src/zoneviewwidget.h b/cockatrice/src/zoneviewwidget.h index 2a0dc6d4..4631ca86 100644 --- a/cockatrice/src/zoneviewwidget.h +++ b/cockatrice/src/zoneviewwidget.h @@ -58,6 +58,10 @@ public: { return zone; } + Player *getPlayer() const + { + return player; + } void retranslateUi(); protected: