From 00cf0ed0ed81ecf4d9b95f291ae0596b8e75aedd Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 18 Oct 2014 23:56:15 +0000 Subject: [PATCH] Fix refresh issue with card display --- .../java/forge/view/arcane/CardPanel.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java index 71c5b1d46c4..e3c1c86588a 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java @@ -177,15 +177,22 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl } public void updateImage() { - synchronized (imagePanel) { - final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight()); - if (imagePanel.getSrcImage() == image) { - return; - } - imagePanel.setImage(image); - repaint(); + updateImage(false); + } + private void updateImage(boolean fromSetCard) { + final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight()); + if (fromSetCard) { + setImage(image); + } + else { + synchronized (imagePanel) { + if (imagePanel.getSrcImage() == image) { + return; + } + imagePanel.setImage(image); + repaint(); + } } - doLayout(); } private void setImage(final BufferedImage srcImage) { @@ -552,7 +559,7 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl updateText(); updatePTOverlay(); - updateImage(); + updateImage(true); } public void dispose() {