mirror of
https://github.com/minetest/minetest.git
synced 2024-12-24 15:12:23 +01:00
Add a hack to get rid of the rare "ERROR: StaticObjectList::insert(): id already exists" failure
This commit is contained in:
parent
0aeb5adb8f
commit
a35e4bdbda
@ -1748,6 +1748,15 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
|
|||||||
force_delete = true;
|
force_delete = true;
|
||||||
} else {
|
} else {
|
||||||
u16 new_id = pending_delete ? id : 0;
|
u16 new_id = pending_delete ? id : 0;
|
||||||
|
// If static counterpart already exists, remove it first.
|
||||||
|
// This shouldn't happen, but happens rarely for some
|
||||||
|
// unknown reason. Unsuccessful attempts have been made to
|
||||||
|
// find said reason.
|
||||||
|
if(new_id && block->m_static_objects.m_active.find(new_id)){
|
||||||
|
infostream<<"ServerEnv: WARNING: Performing hack #83274"
|
||||||
|
<<std::endl;
|
||||||
|
block->m_static_objects.remove(new_id);
|
||||||
|
}
|
||||||
block->m_static_objects.insert(new_id, s_obj);
|
block->m_static_objects.insert(new_id, s_obj);
|
||||||
|
|
||||||
// Only mark block as modified if data changed considerably
|
// Only mark block as modified if data changed considerably
|
||||||
|
Loading…
Reference in New Issue
Block a user