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.
experimental
Blay09 11 years ago
parent 8738f961ea
commit ce1eba944e
  1. 14
      jme3-core/src/main/java/com/jme3/app/Application.java

@ -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

Loading…
Cancel
Save