Fix player list crash (#3080)

* Fixed get_rockstar_id returning an incorrect type.
* Added more OOP usage of get_rockstar_id when applicable.
Co-authored-by: gir489returns <gir489returns@outlook.com>
This commit is contained in:
Mr-X-GTA
2024-05-09 23:28:11 +02:00
committed by GitHub
parent 3d77d92db2
commit 9062491f1d
11 changed files with 37 additions and 36 deletions

View File

@ -16,7 +16,7 @@ namespace big
bool has_scrollbar = false;
static void player_button(const player_ptr& plyr)
{
if (plyr == nullptr)
if (plyr == nullptr || !plyr->is_valid())
return;
bool selected_player = plyr == g_player_service->get_selected();
@ -63,12 +63,9 @@ namespace big
g_gui_service->set_selected(tabs::PLAYER);
g.window.switched_view = true;
}
if (ImGui::IsItemHovered()
&& g_player_database_service->get_player_by_rockstar_id(plyr->get_net_data()->m_gamer_handle.m_rockstar_id) != nullptr)
if (auto rockstar_id = plyr->get_rockstar_id(); ImGui::IsItemHovered() && g_player_database_service->get_player_by_rockstar_id(rockstar_id) != nullptr)
{
auto sorted_player =
g_player_database_service->get_player_by_rockstar_id(plyr->get_net_data()->m_gamer_handle.m_rockstar_id);
auto sorted_player = g_player_database_service->get_player_by_rockstar_id(rockstar_id);
if (!sorted_player->infractions.empty())
{
ImGui::BeginTooltip();