gdi32: Directly use ntdll in update_font_association_info.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2021-09-23 13:44:11 +01:00 committed by Alexandre Julliard
parent 484aad56c8
commit b645d4f5b3
1 changed files with 14 additions and 6 deletions

View File

@ -2481,20 +2481,28 @@ static void add_font_list(HKEY hkey, const struct nls_update_font_list *fl, int
static void set_value_key(HKEY hkey, const char *name, const char *value) static void set_value_key(HKEY hkey, const char *name, const char *value)
{ {
if (value) if (value)
RegSetValueExA(hkey, name, 0, REG_SZ, (const BYTE *)value, strlen(value) + 1); set_reg_ascii_value( hkey, name, value );
else if (name) else if (name)
RegDeleteValueA(hkey, name); {
WCHAR nameW[64];
asciiz_to_unicode( nameW, name );
reg_delete_value( hkey, nameW );
}
} }
static void update_font_association_info(UINT current_ansi_codepage) static void update_font_association_info(UINT current_ansi_codepage)
{ {
static const WCHAR associated_charsetW[] =
{ 'A','s','s','o','c','i','a','t','e','d',' ','C','h','a','r','s','e','t' };
if (is_dbcs_ansi_cp(current_ansi_codepage)) if (is_dbcs_ansi_cp(current_ansi_codepage))
{ {
HKEY hkey; HKEY hkey;
if (RegCreateKeyW(HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Control\\FontAssoc", &hkey) == ERROR_SUCCESS) if ((hkey = reg_create_key( NULL, font_assoc_keyW, sizeof(font_assoc_keyW), 0, NULL )))
{ {
HKEY hsubkey; HKEY hsubkey;
if (RegCreateKeyW(hkey, L"Associated Charset", &hsubkey) == ERROR_SUCCESS) if ((hsubkey = reg_create_key( hkey, associated_charsetW, sizeof(associated_charsetW),
0, NULL )))
{ {
switch (current_ansi_codepage) switch (current_ansi_codepage)
{ {
@ -2511,12 +2519,12 @@ static void update_font_association_info(UINT current_ansi_codepage)
set_value_key(hsubkey, "SYMBOL(02)", "NO"); set_value_key(hsubkey, "SYMBOL(02)", "NO");
break; break;
} }
RegCloseKey(hsubkey); NtClose( hsubkey );
} }
/* TODO: Associated DefaultFonts */ /* TODO: Associated DefaultFonts */
RegCloseKey(hkey); NtClose( hkey );
} }
} }
else else