kicad-source/patches/wxwidgets-3.0.2_mingw_fix_unicode_entry.patch
Cirilo Bernardo 8af174f7d2 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.
2017-03-14 18:33:14 -04:00

25 lines
1.5 KiB
Diff

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) \