private EditProfile registrationDialog;
private ProgressMonitor _progressMonitor;
WaitForServerSocial _waitForServerSocial;
+ /**
+ * Prevent some operations if a shutdown is in progress.
+ */
+ boolean _shutdownInProgress = false;
/**
* Member record for this client's user.
switch (evt.getPropertyName()) {
case "progress":
int progress = 1000 * (Integer) evt.getNewValue();
+ if (_progressMonitor.isCanceled()) {
+ _shutdownInProgress = true;
+ _waitForServerSocial.cancel(true);
+ _progressMonitor.close();
+ exitCleanly();
+ }
_progressMonitor.setProgress(progress);
break;
case "state":
SwingWorker.StateValue state = (SwingWorker.StateValue) evt.getNewValue();
- if (state.equals(SwingWorker.StateValue.DONE)) {
+ if (!_shutdownInProgress && state.equals(SwingWorker.StateValue.DONE)) {
_progressMonitor.close();
try {
if (_waitForServerSocial.get()) {