From e9d5dec7bd7889a331cfb5e3af9f158cbb30ecac Mon Sep 17 00:00:00 2001 From: jules Date: Wed, 25 Sep 2013 10:51:19 +0100 Subject: [PATCH] Linux keyboard locale fix. --- modules/juce_gui_basics/native/juce_linux_Windowing.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp index b0357306d7..5ab5c4d25a 100644 --- a/modules/juce_gui_basics/native/juce_linux_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_linux_Windowing.cpp @@ -1345,10 +1345,12 @@ public: ScopedXLock xlock; updateKeyStates (keyEvent.keycode, true); - const char* oldLocale = ::setlocale (LC_ALL, 0); + String oldLocale (::setlocale (LC_ALL, 0)); ::setlocale (LC_ALL, ""); XLookupString (&keyEvent, utf8, sizeof (utf8), &sym, 0); - ::setlocale (LC_ALL, oldLocale); + + if (oldLocale.isNotEmpty()) + ::setlocale (LC_ALL, oldLocale.toRawUTF8()); unicodeChar = *CharPointer_UTF8 (utf8); keyCode = (int) unicodeChar;