godotengine / godotengine/godot
Project setting added via GUI is removed when reset to default
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
Found as far back as 4.1.1 - couldn't test any earlier version (editor froze when opening any dropdown menu, old Wayland problems maybe, doesnt matter)
### System information
Godot v4.3.dev5 - EndeavourOS SMP PREEMPT_DYNAMIC Fri, 08 Mar 2024 01:59:01 +0000 - Wayland - Vulkan (Forward+) - integrated AMD Radeon Graphics (RADV RENOIR) () - AMD Ryzen 7 5825U with Radeon Graphics (16 Threads)
### Issue description
Project settings created manually within the settings menu will be removed when reset to their default value
### Steps to reproduce
When creating a custom project setting (using the project settings dialogue), it will show up as not being at its default value (which is weird because it actually is, in theory) - see image 1.

Then, resetting it to the default will cause it to be deleted from the project settings, with the editor printing a few copies of the same warning:
`core/config/project_settings.cpp:352 - Property not found: x/y`
where `x/y` is whatever path was chosen for the setting:

However, it will still show up in the settings GUI until it is closed and reopened:

### Minimal reproduction project (MRP)
Basically impossible to have an MRP, as the whole bug is something being unexplicably deleted. A completely empty project suffices.
Contributor guide
Research direction
Start with core/config/project_settings.cpp around line 352 and reproduce the behavior from the Project Settings dialog in an empty project. Check why resetting a manually created setting removes it and leaves the open dialog stale; done means the setting remains available after reset without the Property not found warning.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100