Fix error dialog being displayed in a headless context.

This was causing an infinite cycle of java.awt.HeadlessException in case handleError was called in an environment without display.
This commit is contained in:
Blay09 2014-06-28 20:25:30 +02:00
parent 8738f961ea
commit ce1eba944e

View File

@ -518,12 +518,14 @@ public class Application implements SystemListener {
public void handleError(String errMsg, Throwable t){
// Print error to log.
logger.log(Level.SEVERE, errMsg, t);
// Display error message on screen
if (t != null) {
JmeSystem.showErrorDialog(errMsg + "\n" + t.getClass().getSimpleName() +
(t.getMessage() != null ? ": " + t.getMessage() : ""));
} else {
JmeSystem.showErrorDialog(errMsg);
// Display error message on screen if not in headless mode
if (context.getType() != JmeContext.Type.Headless) {
if (t != null) {
JmeSystem.showErrorDialog(errMsg + "\n" + t.getClass().getSimpleName() +
(t.getMessage() != null ? ": " + t.getMessage() : ""));
} else {
JmeSystem.showErrorDialog(errMsg);
}
}
stop(); // stop the application