From e7e51f5f9dc3934b22c46171cd0d4bfbbf80ceef Mon Sep 17 00:00:00 2001 From: brukie Date: Thu, 4 Jun 2009 14:57:20 +0200 Subject: [PATCH] sanity checks --- cockatrice/src/decklistmodel.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/decklistmodel.cpp b/cockatrice/src/decklistmodel.cpp index 663b2c32..46fc79fa 100644 --- a/cockatrice/src/decklistmodel.cpp +++ b/cockatrice/src/decklistmodel.cpp @@ -51,8 +51,16 @@ void DeckListModel::rebuildTree() InnerDecklistNode *node = new InnerDecklistNode(currentZone->getName(), root); for (int j = 0; j < currentZone->size(); j++) { DecklistCardNode *currentCard = dynamic_cast(currentZone->at(j)); + // XXX better sanity checking + if (!currentCard) + continue; - QString cardType = db->getCard(currentCard->getName())->getMainCardType(); + CardInfo *info = db->getCard(currentCard->getName()); + QString cardType; + if (!info) + cardType = "unknown"; + else + cardType = info->getMainCardType(); InnerDecklistNode *cardTypeNode = dynamic_cast(node->findChild(cardType)); if (!cardTypeNode) cardTypeNode = new InnerDecklistNode(cardType, node);