From c7da1c4efd2c6d5f6e0fc9338c9cd309b7ca9ae9 Mon Sep 17 00:00:00 2001 From: Kirill Vainer Date: Wed, 2 Mar 2016 13:44:12 -0500 Subject: [PATCH] desktop: don't show dialogs when headless --- .../com/jme3/system/JmeDesktopSystem.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/jme3-desktop/src/main/java/com/jme3/system/JmeDesktopSystem.java b/jme3-desktop/src/main/java/com/jme3/system/JmeDesktopSystem.java index 37a01e8ed..4fcfa17d5 100644 --- a/jme3-desktop/src/main/java/com/jme3/system/JmeDesktopSystem.java +++ b/jme3-desktop/src/main/java/com/jme3/system/JmeDesktopSystem.java @@ -43,6 +43,7 @@ import com.jme3.system.JmeContext.Type; import com.jme3.util.Screenshots; import java.awt.EventQueue; import java.awt.Graphics2D; +import java.awt.GraphicsEnvironment; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; @@ -116,12 +117,16 @@ public class JmeDesktopSystem extends JmeSystemDelegate { @Override public void showErrorDialog(String message) { - final String msg = message; - EventQueue.invokeLater(new Runnable() { - public void run() { - ErrorDialog.showDialog(msg); - } - }); + if (!GraphicsEnvironment.isHeadless()) { + final String msg = message; + EventQueue.invokeLater(new Runnable() { + public void run() { + ErrorDialog.showDialog(msg); + } + }); + } else { + System.err.println("[JME ERROR] " + message); + } } @Override @@ -129,6 +134,9 @@ public class JmeDesktopSystem extends JmeSystemDelegate { if (SwingUtilities.isEventDispatchThread()) { throw new IllegalStateException("Cannot run from EDT"); } + if (GraphicsEnvironment.isHeadless()) { + throw new IllegalStateException("Cannot show dialog in headless environment"); + } final AppSettings settings = new AppSettings(false); settings.copyFrom(sourceSettings);