From c135964f84c345863cb61c68be105a6655cd2f6f Mon Sep 17 00:00:00 2001 From: Neloreck Date: Fri, 3 Jul 2026 01:52:19 +0300 Subject: [PATCH 1/2] Avoid multiplied hud release callback calls. --- src/xrEngine/xr_object_list.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/xrEngine/xr_object_list.cpp b/src/xrEngine/xr_object_list.cpp index ff35516ff9f..8ada4c5bc0e 100644 --- a/src/xrEngine/xr_object_list.cpp +++ b/src/xrEngine/xr_object_list.cpp @@ -322,10 +322,13 @@ void CObjectList::Update(bool bForce) { VERIFY(*(*it).m_ID == (it - m_relcase_callbacks.begin())); for (auto& dit : destroy_queue) - { (*it).m_Callback(dit); - g_pGameLevel->pHUD->net_Relcase(dit); - } + } + + // Notify HUD once per destroyed object: + for (auto& dit : destroy_queue) + { + g_pGameLevel->pHUD->net_Relcase(dit); } // Destroy From 3c0978f03475349021cd616e1a88e8649a4129f2 Mon Sep 17 00:00:00 2001 From: Neloreck Date: Fri, 3 Jul 2026 01:59:31 +0300 Subject: [PATCH 2/2] Bring back brackets for `destroy_queue` loop. --- src/xrEngine/xr_object_list.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xrEngine/xr_object_list.cpp b/src/xrEngine/xr_object_list.cpp index 8ada4c5bc0e..8f4f2bea55b 100644 --- a/src/xrEngine/xr_object_list.cpp +++ b/src/xrEngine/xr_object_list.cpp @@ -322,7 +322,9 @@ void CObjectList::Update(bool bForce) { VERIFY(*(*it).m_ID == (it - m_relcase_callbacks.begin())); for (auto& dit : destroy_queue) + { (*it).m_Callback(dit); + } } // Notify HUD once per destroyed object: