From 6646aaf5b24e4ba7c1c9194af69ae3856a0a79a5 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 13 Feb 2014 17:12:02 +0100 Subject: [PATCH] Client memory need - Removed some unneeded references. --- .../client/deck/generator/DeckGenerator.java | 17 ++++++++++++++--- .../java/mage/client/table/NewPlayerPanel.java | 2 +- Mage.Common/src/mage/utils/DeckBuilder.java | 6 ++++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java index 1bd7f21bcee..4c5c006cc37 100644 --- a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java +++ b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java @@ -36,7 +36,6 @@ import mage.constants.ColoredManaSymbol; import mage.constants.Rarity; import mage.interfaces.rate.RateCallback; import mage.utils.DeckBuilder; -import mage.view.TournamentTypeView; /** @@ -156,16 +155,28 @@ public class DeckGenerator { tmp.createNewFile(); deck.setName("Generated-Deck-" + UUID.randomUUID()); Sets.saveDeck(tmp.getAbsolutePath(), deck.getDeckCardLists()); + deck = null; //JOptionPane.showMessageDialog(null, "Deck has been generated."); + DeckGenerator.cleanUp(btnGenerate, btnCancel); return tmp.getAbsolutePath(); } catch (Exception e) { - JOptionPane.showMessageDialog(null, "Couldn't generate deck. Try once again."); + JOptionPane.showMessageDialog(null, "Couldn't generate deck. Try again."); } } - + DeckGenerator.cleanUp(btnGenerate, btnCancel); return selectedColors; } + private static void cleanUp(JButton btnGenerate, JButton btnCancel) { + for (ActionListener al: btnGenerate.getActionListeners()) { + btnGenerate.removeActionListener(al); + } + for (ActionListener al: btnCancel.getActionListeners()) { + btnCancel.removeActionListener(al); + } + deck = null; + } + /** * Generates card pool */ diff --git a/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java b/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java index c65afc03e00..f1fceb08cd6 100644 --- a/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java +++ b/Mage.Client/src/main/java/mage/client/table/NewPlayerPanel.java @@ -48,7 +48,7 @@ import mage.client.util.Config; */ public class NewPlayerPanel extends javax.swing.JPanel { - private JFileChooser fcSelectDeck; + private final JFileChooser fcSelectDeck; /** Creates new form NewPlayerPanel */ public NewPlayerPanel() { diff --git a/Mage.Common/src/mage/utils/DeckBuilder.java b/Mage.Common/src/mage/utils/DeckBuilder.java index fcc9e0c1bea..96be5e7ae3d 100644 --- a/Mage.Common/src/mage/utils/DeckBuilder.java +++ b/Mage.Common/src/mage/utils/DeckBuilder.java @@ -27,7 +27,7 @@ public class DeckBuilder { private static final int DECK_COST[] = {1, 2, 3, 4, 6, 10}; private static final int MIN_CARD_SCORE = 25; private static final int MIN_SOURCE = 3; // minmal number of sources for a mana color, will be taken also if ratio would give a lower number - private static Deck deck = new Deck(); + private static Deck deck; private static int deckCount[]; private static int deckSize; @@ -86,7 +86,9 @@ public class DeckBuilder { addCardsToDeck(remainingCards, 5, 10, deckSpells - deck.getCards().size()); addLandsToDeck(allowedColors, setsToUse, landCardPool, callback); - return deck; + Deck returnedDeck = deck; + deck = null; + return returnedDeck; } /**