really fixed zone view bug
This commit is contained in:
parent
f308e9edef
commit
40d292c4ac
3 changed files with 5 additions and 3 deletions
|
@ -4,6 +4,7 @@
|
|||
#include "playerarea.h"
|
||||
#include "counter.h"
|
||||
#include "zoneviewzone.h"
|
||||
#include "zoneviewwidget.h"
|
||||
#include "game.h"
|
||||
#include <QGraphicsScene>
|
||||
#include <QMenu>
|
||||
|
@ -157,7 +158,7 @@ void Player::gameEvent(const ServerEventData &event)
|
|||
// Clean up existing zones first
|
||||
for (int i = 0; i < zones.size(); i++) {
|
||||
if (ZoneViewZone *view = zones.at(i)->getView())
|
||||
emit closeZoneView(view);
|
||||
((ZoneViewWidget *) view->parentItem())->close();
|
||||
zones.at(i)->clearContents();
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ void ZoneViewLayout::toggleZoneView(Player *player, const QString &zoneName, int
|
|||
for (int i = 0; i < views.size(); i++) {
|
||||
ZoneViewZone *temp = views[i]->getZone();
|
||||
if ((temp->getName() == zoneName) && (temp->getPlayer() == player)) { // view is already open
|
||||
removeItem(views[i]);
|
||||
views[i]->close();
|
||||
if (temp->getNumberCards() == numberCards)
|
||||
return;
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ void ZoneViewLayout::toggleZoneView(Player *player, const QString &zoneName, int
|
|||
void ZoneViewLayout::removeItem(ZoneViewWidget *item)
|
||||
{
|
||||
qDebug("ZoneViewLayout::removeItem");
|
||||
delete views.takeAt(views.indexOf(item));
|
||||
views.removeAt(views.indexOf(item));
|
||||
reorganize();
|
||||
}
|
||||
|
||||
|
|
|
@ -69,5 +69,6 @@ void ZoneViewWidget::closeEvent(QCloseEvent *event)
|
|||
if (shuffleCheckBox->isChecked())
|
||||
player->client->shuffle();
|
||||
emit closePressed(this);
|
||||
deleteLater();
|
||||
event->accept();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue