From 8af174f7d268ef326fd17ad9a40264c9134332bd Mon Sep 17 00:00:00 2001 From: Cirilo Bernardo Date: Sun, 12 Mar 2017 11:22:51 -0400 Subject: [PATCH] Add wxWidgets bug fix patch. Calling external applications with wxWidgets failed when the file name contained non-ASCII characters. Please note that this patch does not require wxWidgets to be recompiled. It only changes a header file which means the patch can be applied to an existing wxWidgets install. However, KiCad does need to be rebuilt after this patch is applied. This patch is not required if you do not need non-ASCII character file name support. --- ...idgets-3.0.2_mingw_fix_unicode_entry.patch | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 patches/wxwidgets-3.0.2_mingw_fix_unicode_entry.patch diff --git a/patches/wxwidgets-3.0.2_mingw_fix_unicode_entry.patch b/patches/wxwidgets-3.0.2_mingw_fix_unicode_entry.patch new file mode 100644 index 0000000000..b45baf6692 --- /dev/null +++ b/patches/wxwidgets-3.0.2_mingw_fix_unicode_entry.patch @@ -0,0 +1,24 @@ +diff --git a/include/wx/app.h b/include/wx/app.h +index 9a73469570..89c1762dc7 100644 +--- a/include/wx/app.h ++++ b/include/wx/app.h +@@ -798,6 +798,19 @@ public: + \ + return wxEntry(argc, argv); \ + } ++#elif wxUSE_UNICODE && ( defined(__MINGW32__) || defined(__MINGW64__) ) ++ #define wxIMPLEMENT_WXWIN_MAIN_CONSOLE \ ++ int main(int argc, char **argv) \ ++ { \ ++ wxDISABLE_DEBUG_SUPPORT(); \ ++ \ ++ LPWSTR cmdline = ::GetCommandLineW(); \ ++ int argcw; \ ++ LPWSTR* argvw = ::CommandLineToArgvW( cmdline, &argcw ); \ ++ int result = wxEntry( argcw, argvw ); \ ++ ::LocalFree( argvw ); \ ++ return result; \ ++ } + #else // Use standard main() + #define wxIMPLEMENT_WXWIN_MAIN_CONSOLE \ + int main(int argc, char **argv) \