git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28009
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
if (event.m_uniChar < 256)
event.m_keyCode = event.m_uniChar;
#else
if (event.m_uniChar < 256)
event.m_keyCode = event.m_uniChar;
#else
- gunichar uniChar = g_utf8_get_char( str );
- // We cannot handle Unicode in non-Unicode mode
- if (uniChar > 255) return;
-
- event.m_keyCode = uniChar;
+ wchar_t unistr[2];
+ unistr[0] = g_utf8_get_char(str);
+ unistr[1] = 0;
+ wxCharBuffer ansistr(wxConvLocal.cWC2MB(unistr));
+ // We cannot handle characters that cannot be represented in
+ // current locale's charset in non-Unicode mode:
+ if (ansistr.data() == NULL) return;
+
+ event.m_keyCode = ansistr[0u];
if (event.m_uniChar < 256)
event.m_keyCode = event.m_uniChar;
#else
if (event.m_uniChar < 256)
event.m_keyCode = event.m_uniChar;
#else
- gunichar uniChar = g_utf8_get_char( str );
- // We cannot handle Unicode in non-Unicode mode
- if (uniChar > 255) return;
-
- event.m_keyCode = uniChar;
+ wchar_t unistr[2];
+ unistr[0] = g_utf8_get_char(str);
+ unistr[1] = 0;
+ wxCharBuffer ansistr(wxConvLocal.cWC2MB(unistr));
+ // We cannot handle characters that cannot be represented in
+ // current locale's charset in non-Unicode mode:
+ if (ansistr.data() == NULL) return;
+
+ event.m_keyCode = ansistr[0u];