Fix MekHQ #3986: MHQ wont save, sometimes #5338
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should fix MegaMek/mekhq#3986. The issue is that Entity.c3UUID can be null in BotForces, but that is never checked in EntityListFile. The original XML writer in MHQ for BotForces avoided this problem by ... not checking C3 at all. Ultimately, we need to correct all of this by consolidating XML writers, but that is a bigger project.
I fixed it simply by checking for null status before writing. I looked for other cases where we might be writing a null object in the same method and I could not find any. I tested it on the campaign file by generating random opponents when advancing day and saving. I was able to do it in 20 cases without problem including many cases where I know I had a C3 entity.