@@ -1820,27 +1820,29 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
1820
1820
bool stays_in_same_block = false ;
1821
1821
bool data_changed = true ;
1822
1822
1823
- if (obj->m_static_exists ){
1824
- if (obj->m_static_block == blockpos_o)
1823
+ if (obj->m_static_exists ) {
1824
+ if (obj->m_static_block == blockpos_o)
1825
1825
stays_in_same_block = true ;
1826
1826
1827
1827
MapBlock *block = m_map->emergeBlock (obj->m_static_block , false );
1828
1828
1829
- std::map<u16, StaticObject>::iterator n =
1829
+ if (block) {
1830
+ std::map<u16, StaticObject>::iterator n =
1830
1831
block->m_static_objects .m_active .find (id);
1831
- if (n != block->m_static_objects .m_active .end ()){
1832
- StaticObject static_old = n->second ;
1832
+ if (n != block->m_static_objects .m_active .end ()) {
1833
+ StaticObject static_old = n->second ;
1833
1834
1834
- float save_movem = obj->getMinimumSavedMovement ();
1835
+ float save_movem = obj->getMinimumSavedMovement ();
1835
1836
1836
- if (static_old.data == staticdata_new &&
1837
- (static_old.pos - objectpos).getLength () < save_movem)
1838
- data_changed = false ;
1839
- } else {
1840
- errorstream<<" ServerEnvironment::deactivateFarObjects(): "
1837
+ if (static_old.data == staticdata_new &&
1838
+ (static_old.pos - objectpos).getLength () < save_movem)
1839
+ data_changed = false ;
1840
+ } else {
1841
+ errorstream<<" ServerEnvironment::deactivateFarObjects(): "
1841
1842
<<" id=" <<id<<" m_static_exists=true but "
1842
1843
<<" static data doesn't actually exist in "
1843
1844
<<PP (obj->m_static_block )<<std::endl;
1845
+ }
1844
1846
}
1845
1847
}
1846
1848
0 commit comments