diff --git a/Contractor/SearchEngine.h b/Contractor/SearchEngine.h index 51acf6479..7c77f8737 100644 --- a/Contractor/SearchEngine.h +++ b/Contractor/SearchEngine.h @@ -30,7 +30,8 @@ or see http://www.gnu.org/licenses/agpl.txt. struct _HeapData { NodeID parent; - _HeapData( NodeID p ) : parent(p) { } + bool stalled; + _HeapData( NodeID p ) : parent(p) , stalled(false) { } }; typedef BinaryHeap< NodeID, int, int, _HeapData, DenseStorage< NodeID, unsigned > > _Heap; @@ -151,10 +152,10 @@ public: packedPath.push_back( middle ); pathNode = middle; - while ( pathNode != phantomNodes->targetNode2 && pathNode != phantomNodes->targetNode1 ) { + do { pathNode = _backwardHeap->GetData( pathNode ).parent; packedPath.push_back( pathNode ); - } + } while ( pathNode != phantomNodes->targetNode2 && pathNode != phantomNodes->targetNode1 ) ; // push start node explicitely path->push_back(packedPath[0]); diff --git a/HttpServer/request_handler.h b/HttpServer/request_handler.h index 39fb14745..c7de6efa7 100644 --- a/HttpServer/request_handler.h +++ b/HttpServer/request_handler.h @@ -168,10 +168,10 @@ public: rep.content += tmp; rep.content += (" "); } - convertLatLon(targetCoord.lon, tmp); + convertLatLon(phantomNodes->targetCoord.lon, tmp); rep.content += tmp; rep.content += (","); - convertLatLon(targetCoord.lat, tmp); + convertLatLon(phantomNodes->targetCoord.lat, tmp); rep.content += tmp; }