Skip to content
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

Godot editor becomes unresponsive when the WM_SETTINGCHANGE or WM_SYSCOLORCHANGE message is received #98611

Open
Gibonator opened this issue Oct 28, 2024 · 1 comment

Comments

@Gibonator
Copy link

Gibonator commented Oct 28, 2024

Tested versions

  • Reproducible in: 4.3-stable [77dcf97]

System information

Godot v4.3.stable (77dcf97) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2080 Super with Max-Q Design (NVIDIA; 32.0.15.6590) - Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz (12 Threads)

Issue description

I downloaded Godot 4.3 stable and while using it I noticed that it would periodically become unresponsive. After building from source I attached the debugger using Visual Studio and paused execution during one of these periods of unresponsiveness. It looks like the handling of WM_SETTINGCHANGE or WM_SYSCOLORCHANGE in DisplayServerWindows::WndProc can take a long time. Further up the callstack is EditorNode::_update_theme.

I have my Windows background set to a slide show, so I guess I was hitting this each time the slide changed.

I have 'Follow System Theme' disabled in my editor settings. Should the WM_SETTINGCHANGE or WM_SYSCOLORCHANGE messages be ignored in this case?

Steps to reproduce

  • Create a new project in the project manager
  • Wait for the new project to load
  • Open Settings from the Windows 10 start menu
  • Open Personalisation > Background
  • Change the background picture
  • Click on the Godot Engine window. It will be unresponsive but will eventually recover
  • If you have Visual Studio attached while the Godot window is unresponsive you can break and find a thead calling DisplayServerWindows::WndProc and handling a WM_SETTINGCHANGE or WM_SYSCOLORCHANGE message

Edit: Found out later that this will not repro if you have 'Automatically pick an accent colour from my background' disabled in your 'Personalisation > Colours' section of Windows Settings.

Minimal reproduction project (MRP)

This can be reproduced in a new project created in the project manager.

@matheusmdx
Copy link
Contributor

I tested here and can confirm the freeze in 4.3 stable and seems to be the same case as #98514 that freeze because of unecessary changes in theme and has already fixed in 4.4 dev 1 by #95849

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants