Martin Wilck <Martin.Wilck(a)Fujitsu-Siemens.com> writes:
@@ -1741,7 +1810,6 @@ RtlOpenCurrentUser( KEY_ALL_ACCESS, &hkey_current_user );
_set_registry_levels(0,0,0); - _allocate_default_keys(); if (PROFILE_GetWineIniBool(RegistryW, load_win_reg_filesW, 1)) _load_windows_registry( hkey_local_machine, hkey_current_user, hkey_users_default ); if (PROFILE_GetWineIniBool(RegistryW, load_global_reg_filesW, 1)) @@ -1749,6 +1817,7 @@ _set_registry_levels(1,0,0); if (PROFILE_GetWineIniBool(RegistryW, load_home_reg_filesW, 1)) _load_home_registry( hkey_local_machine, hkey_current_user, hkey_users_default ); + _allocate_default_keys(); _init_registry_saving( hkey_local_machine, hkey_current_user, hkey_users_default ); NtClose(hkey_users_default); NtClose(hkey_current_user);
This bit is going to break the default keys, it will make them stored into the user registry files. I'd suggest moving the computer name stuff out of allocate_default_keys() and into an internal function in computername.c, that would be called during kernel init. This will also avoid handling the same configuration option in two different dlls. -- Alexandre Julliard julliard(a)winehq.com