diff --git a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java index 9fda8f6fd57..9e2f0115e97 100644 --- a/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java +++ b/forge-gui/src/main/java/forge/control/FControlGameEventHandler.java @@ -83,6 +83,18 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { processEventsQueued = false; IMatchController controller = MatchUtil.getController(); + synchronized (cardsUpdate) { + if (!cardsUpdate.isEmpty()) { + MatchUtil.updateCards(cardsUpdate); + cardsUpdate.clear(); + } + } + synchronized (cardsRefreshDetails) { + if (!cardsRefreshDetails.isEmpty()) { + controller.refreshCardDetails(cardsRefreshDetails); + cardsRefreshDetails.clear(); + } + } synchronized (livesUpdate) { if (!livesUpdate.isEmpty()) { controller.updateLives(livesUpdate); @@ -121,18 +133,6 @@ public class FControlGameEventHandler extends IGameEventVisitor.Base { zonesUpdate.clear(); } } - synchronized (cardsUpdate) { - if (!cardsUpdate.isEmpty()) { - MatchUtil.updateCards(cardsUpdate); - cardsUpdate.clear(); - } - } - synchronized (cardsRefreshDetails) { - if (!cardsRefreshDetails.isEmpty()) { - controller.refreshCardDetails(cardsRefreshDetails); - cardsRefreshDetails.clear(); - } - } if (gameOver) { gameOver = false; humanController.getInputQueue().onGameOver(true); // this will unlock any game threads waiting for inputs to complete