mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-10 22:49:00 +01:00
Fix truncated names and descriptions in the game list on linux.
This commit is contained in:
parent
91023e133b
commit
3da05af30a
@ -155,7 +155,14 @@ public:
|
|||||||
Do(stringLen);
|
Do(stringLen);
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case MODE_READ: x = (wchar_t*)*ptr; break;
|
case MODE_READ:
|
||||||
|
{
|
||||||
|
wchar_t* tmp = new wchar_t[stringLen / sizeof(wchar_t)];
|
||||||
|
memcpy(tmp, *ptr, stringLen);
|
||||||
|
x = tmp;
|
||||||
|
delete[] tmp;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break;
|
case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break;
|
||||||
case MODE_MEASURE: break;
|
case MODE_MEASURE: break;
|
||||||
case MODE_VERIFY: _dbg_assert_msg_(COMMON, x == (wchar_t*)*ptr, "Savestate verification failure: \"%ls\" != \"%ls\" (at %p).\n", x.c_str(), (wchar_t*)*ptr, ptr); break;
|
case MODE_VERIFY: _dbg_assert_msg_(COMMON, x == (wchar_t*)*ptr, "Savestate verification failure: \"%ls\" != \"%ls\" (at %p).\n", x.c_str(), (wchar_t*)*ptr, ptr); break;
|
||||||
|
@ -464,14 +464,15 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
|||||||
SelectedLanguage = 0;
|
SelectedLanguage = 0;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
wxCSConv WindowsCP1252(wxFontMapper::GetEncodingName(wxFONTENCODING_CP1252));
|
wxCSConv WindowsCP1252(wxFontMapper::GetEncodingName(wxFONTENCODING_CP1252));
|
||||||
rISOFile.GetName(wstring_name, SelectedLanguage);
|
rISOFile.GetName(wstring_name, SelectedLanguage);
|
||||||
|
|
||||||
name = wxString(rISOFile.GetName(SelectedLanguage).c_str(), WindowsCP1252);
|
name = wxString(rISOFile.GetName(SelectedLanguage).c_str(), WindowsCP1252);
|
||||||
m_gameList.append(StringFromFormat("%s (%c)\n",
|
m_gameList.append(StringFromFormat("%s (%c)\n",
|
||||||
rISOFile.GetName(SelectedLanguage).c_str(), (rISOFile.GetCountry() == DiscIO::IVolume::COUNTRY_USA)?'U':'E'));
|
rISOFile.GetName(SelectedLanguage).c_str(),
|
||||||
description = wxString(company.size() ? company.c_str() :
|
(rISOFile.GetCountry() == DiscIO::IVolume::COUNTRY_USA) ? 'U' : 'E'));
|
||||||
rISOFile.GetDescription(SelectedLanguage).c_str(), WindowsCP1252);
|
description = wxString(company.size() ? company.c_str() :
|
||||||
|
rISOFile.GetDescription(SelectedLanguage).c_str(), WindowsCP1252);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -140,8 +140,8 @@ GameListItem::GameListItem(const std::string& _rFileName)
|
|||||||
SplitPath(m_FileName, NULL, &FileName, NULL);
|
SplitPath(m_FileName, NULL, &FileName, NULL);
|
||||||
int length = FileName.length();
|
int length = FileName.length();
|
||||||
wFileName.reserve(length+1);
|
wFileName.reserve(length+1);
|
||||||
for (int i = 0; i < length; ++i)
|
for (int j = 0; j < length; ++j)
|
||||||
wFileName.push_back(FileName[i]);
|
wFileName.push_back(FileName[j]);
|
||||||
wFileName.push_back(0);
|
wFileName.push_back(0);
|
||||||
}
|
}
|
||||||
*i = wFileName;
|
*i = wFileName;
|
||||||
@ -283,7 +283,7 @@ bool GameListItem::GetName(std::wstring& wName, int index) const
|
|||||||
// This function will only succeed for wii discs with banners or WADs
|
// This function will only succeed for wii discs with banners or WADs
|
||||||
// utilize the same array as for gc discs (-1= Japanese, 0 = English etc
|
// utilize the same array as for gc discs (-1= Japanese, 0 = English etc
|
||||||
index++;
|
index++;
|
||||||
if ((index >=0) && (index < 10))
|
if ((index >= 0) && (index < 10))
|
||||||
{
|
{
|
||||||
if (m_wNames.size() > (size_t)index)
|
if (m_wNames.size() > (size_t)index)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user