From 6fbc395f7946cee62369f014e1f0e837b3cf5060 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 8 Feb 2017 16:06:46 +0000 Subject: [PATCH] - Call setFocusable and setEnabled in CMatchUI in the event dispatch thread to try and prevent a crash in this area resulting from threading issues. --- .../src/main/java/forge/screens/match/CMatchUI.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java index d86499e434b..42927f8dc42 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java +++ b/forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java @@ -572,16 +572,17 @@ public final class CMatchUI //btn1.setFocusable(false); //else if (toFocus == btn1) //btn2.setFocusable(false); - btn2.setFocusable(enable2); // order may matter here - btn1.setFocusable(enable1); - btn2.setEnabled(enable2); - btn1.setEnabled(enable1); // ensure we don't steal focus from an overlay if (toFocus != null) { final Runnable focusRoutine = new Runnable() { @Override public final void run() { + btn2.setFocusable(enable2); // order may matter here + btn1.setFocusable(enable1); + btn2.setEnabled(enable2); + btn1.setEnabled(enable1); + toFocus.requestFocus(); // focus here even if another window has focus - shouldn't have to do it this way but some popups grab window focus } };