Author: jsalmon3
Date: 2007-08-04 04:12:25 +0200 (Sat, 04 Aug 2007)
New Revision: 2787
Modified:
branches/pingus_sdl/src/worldmap/path_graph.cpp
Log:
Add pathfinder to cache, fix memory leak
Modified: branches/pingus_sdl/src/worldmap/path_graph.cpp
===================================================================
--- branches/pingus_sdl/src/worldmap/path_graph.cpp 2007-08-04 02:03:52 UTC
(rev 2786)
+++ branches/pingus_sdl/src/worldmap/path_graph.cpp 2007-08-04 02:12:25 UTC
(rev 2787)
@@ -61,6 +61,9 @@
PathGraph::~PathGraph()
{
graph.for_each_edge(delete_Path);
+ for(PFinderCache::iterator i = pathfinder_cache.begin();
+ i != pathfinder_cache.end(); ++i)
+ delete *i;
}
void
@@ -177,6 +180,7 @@
if (!pfinder)
{
pfinder = new Pathfinder<Dot*, Path*>(graph, start_id);
+ pathfinder_cache[start_id] = pfinder;
}
return pfinder->get_result(end_id);
_______________________________________________
pingus-cvs mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/pingus-cvs