KJob::errorText().isEmpty() is not a valid indicator if a job has failed (see KJob API documentation)