From 9198fb6b29a15b7a88df5fc72276e308b7601cc1 Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 13 Jun 2015 18:43:18 +0000 Subject: [PATCH] Fix so UI updated immediately when match started remotely --- forge-gui-desktop/src/main/java/forge/GuiDesktop.java | 5 +++++ forge-gui-mobile/src/forge/GuiMobile.java | 6 ++++++ forge-gui/src/main/java/forge/FThreads.java | 8 ++++---- forge-gui/src/main/java/forge/interfaces/IGuiBase.java | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java index 0ffd221f107..556b7e662d5 100644 --- a/forge-gui-desktop/src/main/java/forge/GuiDesktop.java +++ b/forge-gui-desktop/src/main/java/forge/GuiDesktop.java @@ -67,6 +67,11 @@ public class GuiDesktop implements IGuiBase { "../forge-gui/" : ""; } + @Override + public void invokeInEdtNow(final Runnable proc) { + proc.run(); + } + @Override public void invokeInEdtLater(final Runnable proc) { SwingUtilities.invokeLater(proc); diff --git a/forge-gui-mobile/src/forge/GuiMobile.java b/forge-gui-mobile/src/forge/GuiMobile.java index bbb00e77db0..c2b31cd0ca9 100644 --- a/forge-gui-mobile/src/forge/GuiMobile.java +++ b/forge-gui-mobile/src/forge/GuiMobile.java @@ -64,6 +64,12 @@ public class GuiMobile implements IGuiBase { return assetsDir; } + @Override + public void invokeInEdtNow(final Runnable proc) { + proc.run(); + Gdx.graphics.requestRendering(); //must request rendering in case this procedure wasn't triggered by a local event + } + @Override public void invokeInEdtLater(final Runnable proc) { Gdx.app.postRunnable(proc); diff --git a/forge-gui/src/main/java/forge/FThreads.java b/forge-gui/src/main/java/forge/FThreads.java index ebc246f396d..cd9a2ec50db 100644 --- a/forge-gui/src/main/java/forge/FThreads.java +++ b/forge-gui/src/main/java/forge/FThreads.java @@ -21,16 +21,16 @@ public class FThreads { } } - public static void invokeInEdtLater(final Runnable runnable) { - GuiBase.getInterface().invokeInEdtLater(runnable); + public static void invokeInEdtLater(final Runnable proc) { + GuiBase.getInterface().invokeInEdtLater(proc); } public static void invokeInEdtNowOrLater(final Runnable proc) { if (isGuiThread()) { - proc.run(); + GuiBase.getInterface().invokeInEdtNow(proc); } else { - invokeInEdtLater(proc); + GuiBase.getInterface().invokeInEdtLater(proc); } } diff --git a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java index fa024a969d3..24d9fb3aa0e 100644 --- a/forge-gui/src/main/java/forge/interfaces/IGuiBase.java +++ b/forge-gui/src/main/java/forge/interfaces/IGuiBase.java @@ -21,6 +21,7 @@ public interface IGuiBase { boolean isRunningOnDesktop(); String getCurrentVersion(); String getAssetsDir(); + void invokeInEdtNow(Runnable runnable); void invokeInEdtLater(Runnable runnable); void invokeInEdtAndWait(Runnable proc); boolean isGuiThread();