From 6c5dd0b3d14827745626c77460afe9df6d8a8055 Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Tue, 5 Apr 2011 17:56:40 +0200 Subject: [PATCH 1/2] attach fix --- common/server_protocolhandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/server_protocolhandler.cpp b/common/server_protocolhandler.cpp index 36cb4831..03828c6a 100644 --- a/common/server_protocolhandler.cpp +++ b/common/server_protocolhandler.cpp @@ -747,7 +747,7 @@ ResponseCode Server_ProtocolHandler::cmdAttachCard(Command_AttachCard *cmd, Comm // Make a copy of the list because its contents change during the loop otherwise. QList attachedList = card->getAttachedCards(); for (int i = 0; i < attachedList.size(); ++i) - player->unattachCard(cont, attachedList[i]); + attachedList[i]->getZone()->getPlayer()->unattachCard(cont, attachedList[i]); if (targetzone->isColumnStacked(targetCard->getX(), targetCard->getY())) { CardToMove *cardToMove = new CardToMove(targetCard->getId()); From 45c65c59dc953bbd64b6b7701c8ddadb3fb7eb7b Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Tue, 5 Apr 2011 18:05:26 +0200 Subject: [PATCH 2/2] selectzone fix --- cockatrice/src/selectzone.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/selectzone.cpp b/cockatrice/src/selectzone.cpp index 30156df6..8b86cd88 100644 --- a/cockatrice/src/selectzone.cpp +++ b/cockatrice/src/selectzone.cpp @@ -22,8 +22,12 @@ void SelectZone::mouseMoveEvent(QGraphicsSceneMouseEvent *event) pos.setY(br.height()); QRectF selectionRect = QRectF(selectionOrigin, pos).normalized(); - for (int i = 0; i < cards.size(); ++i) + for (int i = 0; i < cards.size(); ++i) { + if (cards[i]->getAttachedTo()) + if (cards[i]->getAttachedTo()->getZone() != this) + continue; cards[i]->setSelected(selectionRect.intersects(cards[i]->mapRectToParent(cards[i]->boundingRect()))); + } static_cast(scene())->resizeRubberBand(scenePos() + pos); event->accept();