Browse Source

Merge pull request #36203 from timothyqiu/nav-polygon-leak

Fixes memory leak in NavigationPolygon
Rémi Verschelde 5 years ago
parent
commit
8bcceee94c
2 changed files with 6 additions and 2 deletions
  1. 5 2
      scene/2d/navigation_polygon.cpp
  2. 1 0
      scene/2d/navigation_polygon.h

+ 5 - 2
scene/2d/navigation_polygon.cpp

@@ -363,8 +363,11 @@ void NavigationPolygon::_bind_methods() {
 
 
 NavigationPolygon::NavigationPolygon() :
 NavigationPolygon::NavigationPolygon() :
 		rect_cache_dirty(true),
 		rect_cache_dirty(true),
-		navmesh_generation(NULL) {
-	navmesh_generation = Mutex::create();
+		navmesh_generation(Mutex::create()) {
+}
+
+NavigationPolygon::~NavigationPolygon() {
+	memdelete(navmesh_generation);
 }
 }
 
 
 void NavigationPolygonInstance::set_enabled(bool p_enabled) {
 void NavigationPolygonInstance::set_enabled(bool p_enabled) {

+ 1 - 0
scene/2d/navigation_polygon.h

@@ -91,6 +91,7 @@ public:
 	Ref<NavigationMesh> get_mesh();
 	Ref<NavigationMesh> get_mesh();
 
 
 	NavigationPolygon();
 	NavigationPolygon();
+	~NavigationPolygon();
 };
 };
 
 
 class Navigation2D;
 class Navigation2D;