Fix refresh issue with card display

This commit is contained in:
drdev
2014-10-18 23:56:15 +00:00
parent af19135c2e
commit 00cf0ed0ed

View File

@@ -177,15 +177,22 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
} }
public void updateImage() { public void updateImage() {
synchronized (imagePanel) { updateImage(false);
final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight()); }
if (imagePanel.getSrcImage() == image) { private void updateImage(boolean fromSetCard) {
return; final BufferedImage image = card == null ? null : ImageCache.getImage(card, imagePanel.getWidth(), imagePanel.getHeight());
} if (fromSetCard) {
imagePanel.setImage(image); setImage(image);
repaint(); }
else {
synchronized (imagePanel) {
if (imagePanel.getSrcImage() == image) {
return;
}
imagePanel.setImage(image);
repaint();
}
} }
doLayout();
} }
private void setImage(final BufferedImage srcImage) { private void setImage(final BufferedImage srcImage) {
@@ -552,7 +559,7 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl
updateText(); updateText();
updatePTOverlay(); updatePTOverlay();
updateImage(); updateImage(true);
} }
public void dispose() { public void dispose() {