Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55843
NtUserSetThreadDesktop, called from winstation_init may call into update_display_cache before sysparams_init, when virtual desktop mode is initialized, and so, before config_key is initialized. This end up with a failure to update the display mode cache, error messages a longer start times.
From: Rémi Bernon rbernon@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55843 --- dlls/win32u/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/win32u/class.c b/dlls/win32u/class.c index 396e2285797..1fb5044b2e5 100644 --- a/dlls/win32u/class.c +++ b/dlls/win32u/class.c @@ -249,8 +249,8 @@ DLGPROC get_dialog_proc( DLGPROC ret, BOOL ansi ) static void init_user(void) { gdi_init(); - winstation_init(); sysparams_init(); + winstation_init(); register_desktop_class(); }
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/sysparams.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 471403440b6..d0fb0f6415a 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -565,8 +565,7 @@ static BOOL adapter_get_registry_settings( const struct adapter *adapter, DEVMOD
mutex = get_display_device_init_mutex();
- if (!config_key && !(config_key = reg_open_key( NULL, config_keyW, sizeof(config_keyW) ))) ret = FALSE; - else if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; + if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; else { ret = read_adapter_mode( hkey, ENUM_REGISTRY_SETTINGS, mode ); @@ -585,7 +584,6 @@ static BOOL adapter_set_registry_settings( const struct adapter *adapter, const
mutex = get_display_device_init_mutex();
- if (!config_key && !(config_key = reg_open_key( NULL, config_keyW, sizeof(config_keyW) ))) ret = FALSE; if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; else { @@ -614,8 +612,7 @@ static BOOL adapter_get_current_settings( const struct adapter *adapter, DEVMODE
mutex = get_display_device_init_mutex();
- if (!config_key && !(config_key = reg_open_key( NULL, config_keyW, sizeof(config_keyW) ))) ret = FALSE; - else if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; + if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; else { ret = read_adapter_mode( hkey, ENUM_CURRENT_SETTINGS, mode ); @@ -634,7 +631,6 @@ static BOOL adapter_set_current_settings( const struct adapter *adapter, const D
mutex = get_display_device_init_mutex();
- if (!config_key && !(config_key = reg_open_key( NULL, config_keyW, sizeof(config_keyW) ))) ret = FALSE; if (!(hkey = reg_open_key( config_key, adapter->config_key, lstrlenW( adapter->config_key ) * sizeof(WCHAR) ))) ret = FALSE; else {
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=140437
Your paranoid android.
=== debian11b (64 bit WoW report) ===
Report validation errors: kernel32:console crashed (c0000005)