From 9d5e1dee69a9d033577914ef39578f68fa9afd1f Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 2 Oct 2013 18:11:05 +0400 Subject: [PATCH] Possible fix for Issue #204: The [Done] button does not appear some times --- .../main/java/mage/client/game/FeedbackPanel.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java b/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java index ffd63c00c98..345844260f7 100644 --- a/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java +++ b/Mage.Client/src/main/java/mage/client/game/FeedbackPanel.java @@ -70,6 +70,7 @@ public class FeedbackPanel extends javax.swing.JPanel { private FeedbackMode mode; private MageDialog connectedDialog; private ChatPanel connectedChatPanel; + private int lastMessageId; private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor(); @@ -84,8 +85,17 @@ public class FeedbackPanel extends javax.swing.JPanel { session = MageFrame.getSession(); } - public void getFeedback(FeedbackMode mode, String message, boolean special, Map options) { + public void getFeedback(FeedbackMode mode, String message, boolean special, Map options, int messageId) { logger.info("text: " + message); + + synchronized (this) { + if (messageId < this.lastMessageId) { + logger.warn("ignoring message from later source: " + messageId + ", text=" + message); + return; + } + this.lastMessageId = messageId; + } + this.lblMessage.setText(message); this.helper.setMessage(message); this.selected = false;