浏览代码

Merge pull request #67141 from smix8/gridmap_fix_meshlib_replace_3.x

Fix Editor crash when MeshLibrary gets replaced while used in an open Scene
Rémi Verschelde 2 年之前
父节点
当前提交
567d5e2f78
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      modules/gridmap/grid_map.cpp

+ 6 - 4
modules/gridmap/grid_map.cpp

@@ -561,10 +561,12 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
 				NavigationServer::get_singleton()->region_set_navigation_layers(region, navigation_layers);
 				NavigationServer::get_singleton()->region_set_navmesh(region, navmesh);
 				NavigationServer::get_singleton()->region_set_transform(region, get_global_transform() * nm.xform);
-				if (navigation) {
-					NavigationServer::get_singleton()->region_set_map(region, navigation->get_rid());
-				} else {
-					NavigationServer::get_singleton()->region_set_map(region, get_world()->get_navigation_map());
+				if (is_inside_tree()) {
+					if (navigation) {
+						NavigationServer::get_singleton()->region_set_map(region, navigation->get_rid());
+					} else {
+						NavigationServer::get_singleton()->region_set_map(region, get_world()->get_navigation_map());
+					}
 				}
 				nm.region = region;