wx: UTF8 path fix

This commit is contained in:
Nekotekina 2017-03-12 00:41:48 +03:00
parent cdc49d166e
commit 14e5aa57c8
2 changed files with 15 additions and 9 deletions

View File

@ -235,7 +235,7 @@ void GameViewer::RemoveGame(wxCommandEvent& event)
if (wxMessageBox("Permanently delete game files?", "Confirm Delete", wxYES_NO | wxNO_DEFAULT) == wxYES) if (wxMessageBox("Permanently delete game files?", "Confirm Delete", wxYES_NO | wxNO_DEFAULT) == wxYES)
{ {
fs::remove_all(Emu.GetGameDir() + this->GetItemText(i, 6).ToStdString()); fs::remove_all(Emu.GetGameDir() + fmt::ToUTF8(this->GetItemText(i, 6)));
} }
Refresh(); Refresh();

View File

@ -210,7 +210,7 @@ void MainFrame::BootGame(wxCommandEvent& WXUNUSED(event))
{ {
bool stopped = false; bool stopped = false;
if(Emu.IsRunning()) if (Emu.IsRunning())
{ {
Emu.Pause(); Emu.Pause();
stopped = true; stopped = true;
@ -218,17 +218,19 @@ void MainFrame::BootGame(wxCommandEvent& WXUNUSED(event))
wxDirDialog ctrl(this, L"Select game folder", wxEmptyString); wxDirDialog ctrl(this, L"Select game folder", wxEmptyString);
if(ctrl.ShowModal() == wxID_CANCEL) if (ctrl.ShowModal() == wxID_CANCEL)
{ {
if(stopped) Emu.Resume(); if (stopped) Emu.Resume();
return; return;
} }
Emu.Stop(); Emu.Stop();
const std::string path = fmt::ToUTF8(ctrl.GetPath());
if(!Emu.BootGame(ctrl.GetPath().ToStdString())) if (!Emu.BootGame(path))
{ {
LOG_ERROR(GENERAL, "PS3 executable not found in selected folder (%s)", fmt::ToUTF8(ctrl.GetPath())); // passing std::string (test) LOG_ERROR(GENERAL, "PS3 executable not found in selected folder (%s)", path);
} }
} }
@ -243,12 +245,14 @@ void MainFrame::InstallPkg(wxCommandEvent& WXUNUSED(event))
Emu.Stop(); Emu.Stop();
const std::string path = fmt::ToUTF8(ctrl.GetPath());
// Open PKG file // Open PKG file
fs::file pkg_f(ctrl.GetPath().ToStdString()); fs::file pkg_f(path);
if (!pkg_f || pkg_f.size() < 64) if (!pkg_f || pkg_f.size() < 64)
{ {
LOG_ERROR(LOADER, "PKG: Failed to open %s", ctrl.GetPath().ToStdString()); LOG_ERROR(LOADER, "PKG: Failed to open %s", path);
return; return;
} }
@ -428,7 +432,9 @@ void MainFrame::InstallFirmware(wxCommandEvent& WXUNUSED(event))
Emu.Stop(); Emu.Stop();
fs::file pup_f(ctrl.GetPath().ToStdString()); const std::string path = fmt::ToUTF8(ctrl.GetPath());
fs::file pup_f(path);
pup_object pup(pup_f); pup_object pup(pup_f);
if (!pup) if (!pup)
{ {