Save external data even without scene #85513
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.
When using Ctrl+S without scene opened, it saves all modified resources. However it doesn't save external data of editor plugins that don't modify Resources.
This PR ensures that unsaved external data (based on
get_unsaved_status()
) is still saved even when there is no scene. This is mostly relevant for user plugins, as none of Godot's plugins modify non-Resource data AFAIK.Probably a better solution would be modifying EditorData's
save_editor_external_data()
to work like_save_external_resources()
, i.e. only save modified external data and return how many plugins were saved, butget_unsaved_status()
is a recent addition and almost no plugin implements it.