소스 검색

Fix TileMap memory leak

Gilles Roudière 3 년 전
부모
커밋
48fb43035c
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  1. 2 1
      scene/2d/tile_map.cpp

+ 2 - 1
scene/2d/tile_map.cpp

@@ -798,8 +798,9 @@ void TileMap::_rendering_cleanup_layer(int p_layer) {
 	ERR_FAIL_INDEX(p_layer, (int)layers.size());
 	ERR_FAIL_INDEX(p_layer, (int)layers.size());
 
 
 	RenderingServer *rs = RenderingServer::get_singleton();
 	RenderingServer *rs = RenderingServer::get_singleton();
-	if (!layers[p_layer].canvas_item.is_valid()) {
+	if (layers[p_layer].canvas_item.is_valid()) {
 		rs->free(layers[p_layer].canvas_item);
 		rs->free(layers[p_layer].canvas_item);
+		layers[p_layer].canvas_item = RID();
 	}
 	}
 }
 }