Some error messages are not shown. For example, when connecting to FTP with non-existent domain name nothing is shown, while other types of sessions show error message. In debug builds one can see an assertion: Expression: ExceptionMessageFormatted(E, ExMessage) || !AQuery.IsEmpty().
The root cause: EFatal constructor forgot copying messages of external exception.
After fixing this problem, other problems were found:
Error messages may be duplicated.
Clicking Abort in the reconnect dialog shows redundant message that connection failed.
Reconnecting to an inacessible FTP leads to a crash.
In some cases the plugin panel is not closed when the connection is lost.
Some error messages are not shown. For example, when connecting to
FTP
with non-existent domain name nothing is shown, while other types of sessions show error message. In debug builds one can see an assertion:Expression: ExceptionMessageFormatted(E, ExMessage) || !AQuery.IsEmpty()
.The root cause:
EFatal
constructor forgot copying messages of external exception.After fixing this problem, other problems were found:
Abort
in the reconnect dialog shows redundant message that connection failed.FTP
leads to a crash.This PR fixes this problems.