Merge pull request #163 from susnux/develop

Fix build with wxWidgets 3 (wxString to std::string)
This commit is contained in:
Mark Vejvoda 2017-09-23 02:27:06 -04:00 committed by GitHub
commit 0bca1e8eed
2 changed files with 63 additions and 42 deletions

View File

@ -37,6 +37,12 @@
#define _strnicmp strncasecmp #define _strnicmp strncasecmp
#endif #endif
#if wxCHECK_VERSION(2, 9, 1)
#define WX2CHR(x) (x.mb_str())
#else
#define WX2CHR(x) (wxConvCurrent->cWX2MB(x))
#endif
using namespace Shared::Platform; using namespace Shared::Platform;
using namespace Shared::PlatformCommon; using namespace Shared::PlatformCommon;
using namespace Shared::Graphics; using namespace Shared::Graphics;
@ -2136,8 +2142,12 @@ bool App::OnInit() {
bool foundInvalidArgs = false; bool foundInvalidArgs = false;
const int knownArgCount = sizeof(GAME_ARGS) / sizeof(GAME_ARGS[0]); const int knownArgCount = sizeof(GAME_ARGS) / sizeof(GAME_ARGS[0]);
for(int idx = 1; idx < argc; ++idx) { for(int idx = 1; idx < argc; ++idx) {
#if wxCHECK_VERSION(2, 9, 1)
const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(argv[idx].wc_str());
#else
const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(argv[idx]); const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(argv[idx]);
if( hasCommandArgument(knownArgCount, (wxChar**)&GAME_ARGS[0], (const char *)tmp_buf, NULL, 0, true) == false && #endif
if( hasCommandArgument(knownArgCount, (wxChar**)&GAME_ARGS[0], (const char *)tmp_buf, NULL, 0, true) == false &&
argv[idx][0] == '-') { argv[idx][0] == '-') {
foundInvalidArgs = true; foundInvalidArgs = true;
@ -2147,7 +2157,7 @@ bool App::OnInit() {
if(foundInvalidArgs == true || if(foundInvalidArgs == true ||
hasCommandArgument(argc, argv,(const char *)wxConvCurrent->cWX2MB(GAME_ARGS[GAME_ARG_HELP])) == true) { hasCommandArgument(argc, argv,(const char *)wxConvCurrent->cWX2MB(GAME_ARGS[GAME_ARG_HELP])) == true) {
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),foundInvalidArgs); printParameterHelp(static_cast<const char*>(WX2CHR(argv[0])), foundInvalidArgs);
return false; return false;
} }
@ -2167,7 +2177,11 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
#if wxCHECK_VERSION(2, 9, 1)
string options = argv[foundParamIndIndex].ToStdString();
#else
string options = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string options = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]);
#endif
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(options,paramPartTokens,"="); Tokenize(options,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2213,7 +2227,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string customPath = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string customPath = static_cast<const char*>(WX2CHR(argv[foundParamIndIndex]));
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(customPath,paramPartTokens,"="); Tokenize(customPath,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2239,15 +2253,15 @@ bool App::OnInit() {
} }
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", static_cast<const char*>(WX2CHR(argv[foundParamIndIndex])), (paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", static_cast<const char*>(WX2CHR(argv[foundParamIndIndex])),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2263,7 +2277,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string customPath = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string customPath = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(customPath,paramPartTokens,"="); Tokenize(customPath,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2276,8 +2290,8 @@ bool App::OnInit() {
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2293,7 +2307,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string customPath = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string customPath = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(customPath,paramPartTokens,"="); Tokenize(customPath,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2305,8 +2319,8 @@ bool App::OnInit() {
#endif #endif
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2321,7 +2335,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string customPath = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string customPath = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(customPath,paramPartTokens,"="); Tokenize(customPath,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2333,8 +2347,8 @@ bool App::OnInit() {
#endif #endif
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2349,7 +2363,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string customPath = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string customPath = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(customPath,paramPartTokens,"="); Tokenize(customPath,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2361,8 +2375,8 @@ bool App::OnInit() {
#endif #endif
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2377,7 +2391,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2385,8 +2399,8 @@ bool App::OnInit() {
printf("newAnimValue = %f\n",newAnimValue); printf("newAnimValue = %f\n",newAnimValue);
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2401,7 +2415,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2409,8 +2423,8 @@ bool App::OnInit() {
//printf("newParticleLoopValue = %d\n",newParticleLoopValue); //printf("newParticleLoopValue = %d\n",newParticleLoopValue);
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2425,7 +2439,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2433,8 +2447,8 @@ bool App::OnInit() {
//printf("newAnimValue = %f\n",newAnimValue); //printf("newAnimValue = %f\n",newAnimValue);
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2449,7 +2463,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = (const char*)WX2CHR(argv[foundParamIndIndex]);
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2457,8 +2471,8 @@ bool App::OnInit() {
//printf("newAnimValue = %f\n",newAnimValue); //printf("newAnimValue = %f\n",newAnimValue);
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", (const char*)WX2CHR(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2473,7 +2487,7 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = static_cast<const char*>(WX2CHR(argv[foundParamIndIndex]));
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
@ -2481,8 +2495,8 @@ bool App::OnInit() {
//printf("newAnimValue = %f\n",newAnimValue); //printf("newAnimValue = %f\n",newAnimValue);
} }
else { else {
printf("\nInvalid path specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid path specified on commandline [%s] value [%s]\n\n", static_cast<const char*>(WX2CHR(argv[foundParamIndIndex])),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2496,15 +2510,15 @@ bool App::OnInit() {
hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex); hasCommandArgument(argc, argv,(const char*)param,&foundParamIndIndex);
} }
//printf("foundParamIndIndex = %d\n",foundParamIndIndex); //printf("foundParamIndIndex = %d\n",foundParamIndIndex);
string value = (const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]); string value = static_cast<const char*>(WX2CHR(argv[foundParamIndIndex]));
vector<string> paramPartTokens; vector<string> paramPartTokens;
Tokenize(value,paramPartTokens,"="); Tokenize(value,paramPartTokens,"=");
if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) { if(paramPartTokens.size() >= 2 && paramPartTokens[1].length() > 0) {
fileFormat = paramPartTokens[1]; fileFormat = paramPartTokens[1];
} }
else { else {
printf("\nInvalid value specified on commandline [%s] value [%s]\n\n",(const char *)wxConvCurrent->cWX2MB(argv[foundParamIndIndex]),(paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL)); printf("\nInvalid value specified on commandline [%s] value [%s]\n\n", static_cast<const char*>(WX2CHR(argv[foundParamIndIndex])), (paramPartTokens.size() >= 2 ? paramPartTokens[1].c_str() : NULL));
printParameterHelp(wxConvCurrent->cWX2MB(argv[0]),false); printParameterHelp(WX2CHR(argv[0]),false);
return false; return false;
} }
} }
@ -2518,7 +2532,7 @@ bool App::OnInit() {
auto_ptr<wchar_t> wstr(Ansi2WideString(modelPath.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(modelPath.c_str()));
modelPath = utf8_encode(wstr.get()); modelPath = utf8_encode(wstr.get());
#else #else
modelPath = wxFNCONV(argv[1]); modelPath = static_cast<const char*>(WX2CHR(argv[1]));
#endif #endif
//#else //#else
@ -2548,7 +2562,7 @@ bool App::OnInit() {
auto_ptr<wchar_t> wstr(Ansi2WideString(appPath.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(appPath.c_str()));
appPath = utf8_encode(wstr.get()); appPath = utf8_encode(wstr.get());
#else #else
string appPath(wxFNCONV(exe_path)); string appPath(static_cast<const char*>(WX2CHR(exe_path)));
#endif #endif
//#else //#else

View File

@ -720,9 +720,9 @@ void MainWindow::onMenuFileLoad(wxCommandEvent &event) {
auto_ptr<wchar_t> wstr(Ansi2WideString(currentFile.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(currentFile.c_str()));
currentFile = utf8_encode(wstr.get()); currentFile = utf8_encode(wstr.get());
#elif wxCHECK_VERSION(2, 9, 1)
currentFile = fileDialog->GetPath().ToStdString();
#else #else
//currentFile = fileDialog->GetPath().ToAscii();
const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(fileDialog->GetPath()); const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(fileDialog->GetPath());
currentFile = tmp_buf; currentFile = tmp_buf;
#endif #endif
@ -796,8 +796,9 @@ void MainWindow::onMenuFileSaveAs(wxCommandEvent &event) {
auto_ptr<wchar_t> wstr(Ansi2WideString(currentFile.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(currentFile.c_str()));
currentFile = utf8_encode(wstr.get()); currentFile = utf8_encode(wstr.get());
#elif wxCHECK_VERSION(2, 9, 1)
currentFile = fileDialog->GetPath().ToStdString();
#else #else
//currentFile = fd.GetPath().ToAscii();
const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(fd.GetPath()); const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(fd.GetPath());
currentFile = tmp_buf; currentFile = tmp_buf;
#endif #endif
@ -1655,8 +1656,12 @@ bool App::OnInit() {
exit (0); exit (0);
} }
//#if defined(__MINGW32__) //#if defined(__MINGW32__)
#if wxCHECK_VERSION(2, 9, 1)
fileparam = argv[1].ToStdString();
#else
const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(argv[1]); const wxWX2MBbuf tmp_buf = wxConvCurrent->cWX2MB(argv[1]);
fileparam = tmp_buf; fileparam = tmp_buf;
#endif
#ifdef WIN32 #ifdef WIN32
auto_ptr<wchar_t> wstr(Ansi2WideString(fileparam.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(fileparam.c_str()));
@ -1686,6 +1691,8 @@ bool App::OnInit() {
auto_ptr<wchar_t> wstr(Ansi2WideString(appPath.c_str())); auto_ptr<wchar_t> wstr(Ansi2WideString(appPath.c_str()));
appPath = utf8_encode(wstr.get()); appPath = utf8_encode(wstr.get());
#elif wxCHECK_VERSION(2, 9, 1)
appPath = exe_path.ToStdString();
#else #else
appPath = wxFNCONV(exe_path); appPath = wxFNCONV(exe_path);
#endif #endif