-
-
Notifications
You must be signed in to change notification settings - Fork 22k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dictionary values saved for instanced scene only when different from parent #29222
Conversation
c4904c7
to
5f4dbb6
Compare
d34a595
to
6eea702
Compare
Some comments from @reduz:
|
I don't mind spending more time to implement this fix in a better way, but if you want to give it to someone who knows the engine better it's fine too :) Things I would like to clarify:
|
If this reflects the same logic as in |
6eea702
to
7adcd85
Compare
I've just pushed a fix for a regression I've spotted. When modifying inputs for one of the default actions in project settings, it wasn't saved into the project file because no change was detected when comparing dictionaries. It was due to arrays of events in the input map data being shared between the current settings and the initial settings it was comparing to. So now that deep comparison is done for dictionaries, I had to change project_settings_editor to make new copies of arrays of events when changing some values inside. |
Hi, I tested the PR but it doesn't seem to solve the issue for me. Can somebody else test too? |
@pouleyKetchoupp Is this still desired? If so, it needs to be rebased on the latest master branch. |
Closing in favor of #35816 which addresses the concerns raised on irc about this PR (#29222 (comment)) |
This change makes dictionary comparison operators to check for differences in data, following the same logic as for arrays.
It allows dictionary export variables in instanced scenes to be compared to parents, so they are saved only when the data has been modified for the instance.
Fixes #29221