Kusanagi Kouichi slash@ac.auone-net.jp writes:
@@ -1516,23 +1464,8 @@ static void add_face_to_cache(Face *face) RegSetValueExW(hkey_face, face_full_name_value, 0, REG_SZ, (BYTE*)face->FullName, (strlenW(face->FullName) + 1) * sizeof(WCHAR));
- reg_save_dword(hkey_face, face_index_value, face->face_index);
- reg_save_dword(hkey_face, face_italic_value, (face->ntmFlags & NTM_ITALIC) != 0);
- reg_save_dword(hkey_face, face_bold_value, (face->ntmFlags & NTM_BOLD) != 0);
- reg_save_dword(hkey_face, face_version_value, face->font_version);
- reg_save_dword(hkey_face, face_external_value, face->external);
- RegSetValueExW(hkey_face, face_font_sig_value, 0, REG_BINARY, (BYTE*)&face->fs, sizeof(face->fs));
- RegSetValueExW(hkey_face, face_value, 0, REG_BINARY, (BYTE*)face, sizeof *face);
I don't think that's a good idea. There are many things in the structure that don't make sense to have in the registry. Also this won't work on 64-bit.
On 2012-03-30 15:36:06 +0200, Alexandre Julliard wrote:
Kusanagi Kouichi slash@ac.auone-net.jp writes:
@@ -1516,23 +1464,8 @@ static void add_face_to_cache(Face *face) RegSetValueExW(hkey_face, face_full_name_value, 0, REG_SZ, (BYTE*)face->FullName, (strlenW(face->FullName) + 1) * sizeof(WCHAR));
- reg_save_dword(hkey_face, face_index_value, face->face_index);
- reg_save_dword(hkey_face, face_italic_value, (face->ntmFlags & NTM_ITALIC) != 0);
- reg_save_dword(hkey_face, face_bold_value, (face->ntmFlags & NTM_BOLD) != 0);
- reg_save_dword(hkey_face, face_version_value, face->font_version);
- reg_save_dword(hkey_face, face_external_value, face->external);
- RegSetValueExW(hkey_face, face_font_sig_value, 0, REG_BINARY, (BYTE*)&face->fs, sizeof(face->fs));
- RegSetValueExW(hkey_face, face_value, 0, REG_BINARY, (BYTE*)face, sizeof *face);
I don't think that's a good idea. There are many things in the structure that don't make sense to have in the registry.
Font cache lacks some information. Of course we can fix that, but that might occur again. If we save and load full information, we never lose any information.
Also this won't work on 64-bit.
Wine64 looks to work. Do you mean WoW64?
-- Alexandre Julliard julliard@winehq.org
Kusanagi Kouichi slash@ac.auone-net.jp writes:
On 2012-03-30 15:36:06 +0200, Alexandre Julliard wrote:
I don't think that's a good idea. There are many things in the structure that don't make sense to have in the registry.
Font cache lacks some information. Of course we can fix that, but that might occur again. If we save and load full information, we never lose any information.
Also this won't work on 64-bit.
Wine64 looks to work. Do you mean WoW64?
Yes. There are also potential security issues with the leaking of pointer values or padding bytes. You really don't want to store such internal structures in the registry.