Fix crash showing the Achievements screen.

Fixes #19353, thanks Kelvfimer
This commit is contained in:
Henrik Rydgård 2024-07-22 10:19:07 +02:00
parent a76afa926d
commit d4aafa3555
3 changed files with 53 additions and 1 deletions

View File

@ -14,3 +14,10 @@ Under the assets directory is the SDL2 game controller database: gamecontrollerd
Hot plugging of control pads is also supported.
If you control pad has a "Guide" or "Home" button then when pressed, this will trigger the emulator pause menu, thus allowing you to exit the emulator if you wish or load another game from your library.
WSL notes
=========
Works fine on WSL2 with OpenGL, at least. For more notes, see https://www.ppsspp.org/docs/development/wsl/ .
Running with valgrind
=====================

View File

@ -22,12 +22,24 @@
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_2>
Memcheck:Addr1
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_2>
Memcheck:Addr8
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_12>
Memcheck:Addr16
...
obj:/usr/lib/wsl/lib/libd3d12.so
}
{
<d3d12_1>
Memcheck:Addr8
@ -40,6 +52,12 @@
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_29>
Memcheck:Addr16
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_14>
Memcheck:Addr4
@ -52,6 +70,12 @@
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_24>
Memcheck:Addr1
...
obj:/usr/lib/wsl/lib/libd3d12core.so
}
{
<d3d12_14>
Memcheck:Addr2
@ -70,3 +94,24 @@
...
obj:/usr/lib/wsl/drivers/nvmdig.inf_amd64_e08347d07a4d61e2/libnvwgf2umx.so
}
{
<vk1>
Memcheck:Cond
obj:/usr/lib/wsl/lib/libdxcore.so
...
obj:/usr/lib/x86_64-linux-gnu/libvulkan.so.*
}
{
<vk2>
Memcheck:Cond
...
obj:/usr/lib/wsl/drivers/nvmdig.inf_amd64_e08347d07a4d61e2/libnvwgf2umx.so
}
{
<swrast>
Memcheck:Addr8
fun:memmove
...
obj:/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
...
}

View File

@ -113,7 +113,7 @@ void RetroAchievementsListScreen::CreateAchievementsTab(UI::ViewGroup *achieveme
if (!bucket.num_achievements) {
continue;
}
std::string title = StringFromFormat("%s (%d)", ac->T(AchievementBucketTitle(bucket.bucket_type)), bucket.num_achievements);
std::string title = StringFromFormat("%s (%d)", ac->T_cstr(AchievementBucketTitle(bucket.bucket_type)), bucket.num_achievements);
CollapsibleSection *section = achievements->Add(new CollapsibleSection(title));
section->SetSpacing(2.0f);
for (uint32_t j = 0; j < bucket.num_achievements; j++) {