Merge remote-tracking branch 'origin/GP-65-dragonmacher-error-dialog'

This commit is contained in:
ghidravore 2020-08-21 11:19:51 -04:00
commit 0e2f48607a
12 changed files with 690 additions and 436 deletions

View file

@ -89,7 +89,7 @@ abstract public class DataTypeManagerDB implements DataTypeManager {
protected DBHandle dbHandle;
private AddressMap addrMap;
private ErrorHandler errHandler;
private ErrorHandler errHandler = new DbErrorHandler();
private DataTypeConflictHandler currentHandler;
private CategoryDB root;
@ -168,12 +168,7 @@ abstract public class DataTypeManagerDB implements DataTypeManager {
*/
protected DataTypeManagerDB() {
this.lock = new Lock("DataTypeManagerDB");
errHandler = new ErrorHandler() {
@Override
public void dbError(IOException e) {
Msg.showError(this, null, "IO ERROR", e.getMessage(), e);
}
};
try {
dbHandle = new DBHandle();
int id = startTransaction("");
@ -213,13 +208,6 @@ abstract public class DataTypeManagerDB implements DataTypeManager {
") for read-only Datatype Archive: " + packedDBfile.getAbsolutePath());
}
errHandler = new ErrorHandler() {
@Override
public void dbError(IOException e) {
Msg.showError(this, null, "IO ERROR", e.getMessage(), e);
}
};
// Open packed database archive
boolean openSuccess = false;
PackedDatabase pdb = null;
@ -4089,6 +4077,20 @@ abstract public class DataTypeManagerDB implements DataTypeManager {
}
}
}
private class DbErrorHandler implements ErrorHandler {
@Override
public void dbError(IOException e) {
String message = e.getMessage();
if (e instanceof ClosedException) {
message = "Data type archive is closed: " + getName();
}
Msg.showError(this, null, "IO ERROR", message, e);
}
}
}
/**