Rework updating editor viewport HDR#116248
Merged
Merged
Conversation
akien-mga
reviewed
Feb 13, 2026
9511192 to
31d5194
Compare
34 tasks
Contributor
|
Thanks for the review request! I'll give this a review at some point when the checks are passing. @DarkKilauea may also be interested in seeing this as well. |
DarkKilauea
reviewed
Feb 19, 2026
DarkKilauea
left a comment
Contributor
There was a problem hiding this comment.
These changes look good to me, I'll test them this weekend when I get back to my desktop.
Left only a minor comment.
allenwp
requested changes
Feb 25, 2026
allenwp
left a comment
Contributor
There was a problem hiding this comment.
I get the following crash:
Exception thrown: read access violation.
**this** was nullptr.
call stack:
> godot.windows.editor.dev.x86_64.exe!Node::is_inside_tree() Line 551 C++
godot.windows.editor.dev.x86_64.exe!Viewport::set_use_hdr_2d(bool p_enable) Line 1279 C++
godot.windows.editor.dev.x86_64.exe!EditorNode::_update_from_settings() Line 560 C++
godot.windows.editor.dev.x86_64.exe!call_with_variant_args_helper<EditorNode>(EditorNode * p_instance, void(EditorNode::*)() p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<> __formal) Line 237 C++
godot.windows.editor.dev.x86_64.exe!call_with_variant_args<EditorNode>(EditorNode * p_instance, void(EditorNode::*)() p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 351 C++
godot.windows.editor.dev.x86_64.exe!CallableCustomMethodPointer<EditorNode,void>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 103 C++
godot.windows.editor.dev.x86_64.exe!Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 57 C++
godot.windows.editor.dev.x86_64.exe!Object::emit_signalp(const StringName & p_name, const Variant * * p_args, int p_argcount) Line 1389 C++
godot.windows.editor.dev.x86_64.exe!Object::emit_signal<>(const StringName & p_name) Line 977 C++
godot.windows.editor.dev.x86_64.exe!ProjectSettings::_emit_changed() Line 570 C++
godot.windows.editor.dev.x86_64.exe!call_with_variant_args_helper<ProjectSettings>(ProjectSettings * p_instance, void(ProjectSettings::*)() p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<> __formal) Line 237 C++
godot.windows.editor.dev.x86_64.exe!call_with_variant_args<ProjectSettings>(ProjectSettings * p_instance, void(ProjectSettings::*)() p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 351 C++
godot.windows.editor.dev.x86_64.exe!CallableCustomMethodPointer<ProjectSettings,void>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 103 C++
godot.windows.editor.dev.x86_64.exe!Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 57 C++
godot.windows.editor.dev.x86_64.exe!CallQueue::_call_function(const Callable & p_callable, const Variant * p_args, int p_argcount, bool p_show_error) Line 220 C++
godot.windows.editor.dev.x86_64.exe!CallQueue::flush() Line 268 C++
godot.windows.editor.dev.x86_64.exe!SceneTree::process(double p_time) Line 706 C++
godot.windows.editor.dev.x86_64.exe!Main::iteration() Line 4939 C++
godot.windows.editor.dev.x86_64.exe!OS_Windows::run() Line 2354 C++
godot.windows.editor.dev.x86_64.exe!widechar_main(int argc, wchar_t * * argv) Line 99 C++
godot.windows.editor.dev.x86_64.exe!_main() Line 126 C++
godot.windows.editor.dev.x86_64.exe!main(int argc, char * * argv) Line 140 C++
godot.windows.editor.dev.x86_64.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 154 C++
[External Code]
godot.windows.editor.dev.x86_64.exe!ShimMainCRTStartup(...) Line 74 C
[External Code]
Steps to reproduce:
- Create a standard 3D material resource
- Open the standard 3D material resource in the inspector
- Open something else in the inspector
- Open the standard 3D material resource in the inspector
- Open project settings and toggle Window/request_hdr_output on or off
- Crash
MRP: hdr-editor-crash.zip
Member
Author
|
Fixed. Turns out I was using ObjectID wrong. |
Contributor
|
Thanks! I'll retest/review once github checks are passing again. |
allenwp
approved these changes
Feb 26, 2026
allenwp
left a comment
Contributor
There was a problem hiding this comment.
Thanks, this does look like a much nicer way to handle this!
Contributor
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Follow-up to #94496 (review)
Replaces manual updating of viewport's HDR on setting change with a method that allows registering relevant viewports in EditorNode, so it's handled automatically.
Could use some testing, but it should work the same as before.