diff --git "a/base/applications/regedit/regproc.c" "b/base/applications/regedit/regproc.c" index 039ecac4265..e77cc0f783b 100644 --- "a/base/applications/regedit/regproc.c" +++ "b/base/applications/regedit/regproc.c" @@ -470,10 +470,20 @@ static void free_parser_data(struct parser *parser) static void prepare_hex_string_data(struct parser *parser) { +#ifdef __REACTOS__ + BOOL unicode_in_ascii = FALSE; + + if (!parser->is_unicode && parser->two_wchars[0] == 'W' && parser->two_wchars[1] == 'i') + unicode_in_ascii = TRUE; +#endif if (parser->data_type == REG_EXPAND_SZ || parser->data_type == REG_MULTI_SZ || parser->data_type == REG_SZ) { +#ifdef __REACTOS__ + if (parser->is_unicode || unicode_in_ascii) +#else if (parser->is_unicode) +#endif { WCHAR *data = parser->data; DWORD len = parser->data_size / sizeof(WCHAR);