From 9f1c225b7a6d8ca1a188ac6063c5a18274c577ca Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Tue, 19 May 2026 12:22:40 +0200 Subject: [PATCH] [Player] Stop reaching into graphics_item and emit signals instead for conceded and zoneId (#6912) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Player] Stop reaching into graphics_item and emit signals instead for conceded and zoneId Took 7 minutes Took 3 seconds * Add sameValue check. Took 3 minutes --------- Co-authored-by: Lukas BrĂ¼bach --- cockatrice/src/game/player/player.cpp | 7 ++++--- cockatrice/src/game/player/player.h | 1 + cockatrice/src/game/player/player_graphics_item.cpp | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cockatrice/src/game/player/player.cpp b/cockatrice/src/game/player/player.cpp index b1814a587..ce36af9d4 100644 --- a/cockatrice/src/game/player/player.cpp +++ b/cockatrice/src/game/player/player.cpp @@ -89,7 +89,6 @@ void Player::setConceded(bool _conceded) if (conceded != _conceded) { conceded = _conceded; - getGraphicsItem()->setVisible(!conceded); if (conceded) { clear(); } @@ -99,8 +98,10 @@ void Player::setConceded(bool _conceded) void Player::setZoneId(int _zoneId) { - zoneId = _zoneId; - graphicsItem->getPlayerArea()->setPlayerZoneId(zoneId); + if (zoneId != _zoneId) { + zoneId = _zoneId; + emit zoneIdChanged(zoneId); + } } void Player::processPlayerInfo(const ServerInfo_Player &info) diff --git a/cockatrice/src/game/player/player.h b/cockatrice/src/game/player/player.h index f9ab10207..43520b7ad 100644 --- a/cockatrice/src/game/player/player.h +++ b/cockatrice/src/game/player/player.h @@ -72,6 +72,7 @@ signals: void newCardAdded(AbstractCardItem *card); void rearrangeCounters(); void activeChanged(bool active); + void zoneIdChanged(int zoneId); void concededChanged(int playerId, bool conceded); void clearCustomZonesMenu(); void addViewCustomZoneActionToCustomZoneMenu(QString zoneName); diff --git a/cockatrice/src/game/player/player_graphics_item.cpp b/cockatrice/src/game/player/player_graphics_item.cpp index 52aa231db..c60dbcdd0 100644 --- a/cockatrice/src/game/player/player_graphics_item.cpp +++ b/cockatrice/src/game/player/player_graphics_item.cpp @@ -15,6 +15,8 @@ PlayerGraphicsItem::PlayerGraphicsItem(Player *_player) : player(_player) connect(&SettingsCache::instance(), &SettingsCache::handJustificationChanged, this, &PlayerGraphicsItem::rearrangeZones); connect(player, &Player::rearrangeCounters, this, &PlayerGraphicsItem::rearrangeCounters); + connect(player, &Player::concededChanged, this, [this](int, bool c) { setVisible(!c); }); + connect(player, &Player::zoneIdChanged, this, [this](int id) { playerArea->setPlayerZoneId(id); }); playerArea = new PlayerArea(this);