[UI] Fixed issue with games list UI crashing on close on Vulkan

This commit is contained in:
Gliniak 2025-03-15 23:11:36 +01:00
parent ae1c1e017d
commit 9132035a51
2 changed files with 8 additions and 6 deletions

View file

@ -704,11 +704,11 @@ class GameAchievementsDialog final : public XamDialog {
std::map<uint32_t, std::unique_ptr<ui::ImmediateTexture>> achievements_icons_; std::map<uint32_t, std::unique_ptr<ui::ImmediateTexture>> achievements_icons_;
}; };
class GamesInfoDialog final : public ui::ImGuiDialog { class GamesInfoDialog final : public XamDialog {
public: public:
GamesInfoDialog(ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position, GamesInfoDialog(ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position,
const UserProfile* profile) const UserProfile* profile)
: ui::ImGuiDialog(imgui_drawer), : XamDialog(imgui_drawer),
drawing_position_(drawing_position), drawing_position_(drawing_position),
profile_(profile), profile_(profile),
profile_manager_(kernel_state()->xam_state()->profile_manager()), profile_manager_(kernel_state()->xam_state()->profile_manager()),
@ -843,6 +843,7 @@ class GamesInfoDialog final : public ui::ImGuiDialog {
ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoCollapse |
ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_AlwaysAutoResize |
ImGuiWindowFlags_HorizontalScrollbar)) { ImGuiWindowFlags_HorizontalScrollbar)) {
Close();
ImGui::End(); ImGui::End();
return; return;
} }
@ -890,12 +891,13 @@ class GamesInfoDialog final : public ui::ImGuiDialog {
ImGui::PopFont(); ImGui::PopFont();
} }
ImGui::End();
if (!dialog_open) { if (!dialog_open) {
delete this; Close();
ImGui::End();
return; return;
} }
ImGui::End();
} }
static constexpr uint8_t title_name_filter_size = 15; static constexpr uint8_t title_name_filter_size = 15;

View file

@ -145,7 +145,7 @@ class VulkanImmediateDrawer : public ImmediateDrawer {
}; };
std::deque<SubmittedTextureUploadBuffer> texture_upload_buffers_submitted_; std::deque<SubmittedTextureUploadBuffer> texture_upload_buffers_submitted_;
// Resource and last usage submission pairs. // Resource and last usage submission pairs.
std::vector<std::pair<VulkanImmediateTexture::Resource, uint64_t>> std::deque<std::pair<VulkanImmediateTexture::Resource, uint64_t>>
textures_deleted_; textures_deleted_;
std::unique_ptr<VulkanUploadBufferPool> vertex_buffer_pool_; std::unique_ptr<VulkanUploadBufferPool> vertex_buffer_pool_;