From 3a8290a8253ecb3c19b9b91faac620edabca6edb Mon Sep 17 00:00:00 2001 From: Glenn Rice Date: Thu, 13 Jan 2011 15:32:14 +0000 Subject: Fix panic alert translations. Windows is going to have to use the wxMsgHandler if it wants things to work. The default handler has issues with translated strings. Also updated several translation files thanks to the Dolphin translation team. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6840 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DolphinWX/Src/Main.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Source/Core') diff --git a/Source/Core/DolphinWX/Src/Main.cpp b/Source/Core/DolphinWX/Src/Main.cpp index 1f0608f343..252fd160fe 100644 --- a/Source/Core/DolphinWX/Src/Main.cpp +++ b/Source/Core/DolphinWX/Src/Main.cpp @@ -167,10 +167,8 @@ bool DolphinApp::OnInit() _CrtSetDbgFlag(tmpflag); #endif - // Register message box handler -#ifndef _WIN32 + // Register message box and translation handlers RegisterMsgAlertHandler(&wxMsgAlert); -#endif RegisterStringTranslator(&wxStringTranslator); // "ExtendedTrace" looks freakin dangerous!!! @@ -457,14 +455,14 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style* #ifdef __WXGTK__ if (wxIsMainThread()) #endif - return wxYES == wxMessageBox(wxString::FromAscii(text), + return wxYES == wxMessageBox(wxString::FromUTF8(text), wxString::FromAscii(caption), (yes_no) ? wxYES_NO : wxOK, main_frame); #ifdef __WXGTK__ else { wxCommandEvent event(wxEVT_HOST_COMMAND, IDM_PANIC); - event.SetString(wxString::FromAscii(text)); + event.SetString(wxString::FromUTF8(text)); event.SetInt(yes_no); main_frame->GetEventHandler()->AddPendingEvent(event); main_frame->panic_event.Wait(); @@ -475,8 +473,10 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style* const char *wxStringTranslator(const char *text) { - printf("passing through here\n"); - return std::string(wxString(wxGetTranslation(wxString::From8BitData(text))).To8BitData()).c_str(); + static char buffer[2048]; + snprintf(buffer, 2048, "%s", + (const char *)wxString(wxGetTranslation(wxString::From8BitData(text))).ToUTF8()); + return buffer; } // Accessor for the main window class -- cgit v1.2.3