shutdownThread.start();
}
private Object exitProgramSyncToken = new Object();
private void exitProgramImpl() {
PleaseWaitDialog dialog = new PleaseWaitDialog(this,
resources.getString("Shutdown.Title"), "", 0);
String backupQualifier = getBackupQualifier(data);
try {
if (quit(dialog) == false) {
dialog.dispose();
return;
}
} catch (Throwable t) {
// if the shutdown sequence encounters an uncaught exception,
// display an error message, but still exit.
logErr("When shutting down, encountered the exception:", t);
}
try {
if (osHelper != null) osHelper.dispose();
SystemTrayManagement.getIcon().dispose();
UserNotificationManager.getInstance().maybeHideNotifications();
logger.fine("Backing up data directory");
dialog.setMessage(resources.getString("Shutdown.Saving_Backup"));
fileBackupManager.maybeRun(FileBackupManager.SHUTDOWN,
backupQualifier);
logger.fine("Shutdown complete");
} finally {