Fix content type values being null after deserializing #1651
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.
When we restore the window state from a JSON file, the content type field may be null if the GSON library was not able to map it to one of the enum values.
#1644 changed the type of the WindowState.panelType field from integer to enum. This meant that the serialized values did not match the new type, causing the restored field to unexpectedly become NULL. This caused a crash.
The solution is to change the name of the field to WindowState.contentType so it will not cause a clash when serializing and deserializing. Additionally, this PR adds checks to ensure that the restored value is not NULL.
Fixes #1648