mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	Add a hack to get rid of the rare "ERROR: StaticObjectList::insert(): id already exists" failure
This commit is contained in:
		@@ -1748,6 +1748,15 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
 | 
			
		||||
					force_delete = true;
 | 
			
		||||
				} else {
 | 
			
		||||
					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);
 | 
			
		||||
					
 | 
			
		||||
					// Only mark block as modified if data changed considerably
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user