Browse Source

Merge pull request #531 from eightyeight/navpath-findnearestpoly-check

Check whether findNearestPoly actually did find a poly
David Wyand 11 years ago
parent
commit
ef118b883b
1 changed files with 2 additions and 2 deletions
  1. 2 2
      Engine/source/navigation/navPath.cpp

+ 2 - 2
Engine/source/navigation/navPath.cpp

@@ -351,14 +351,14 @@ bool NavPath::visitNext()
    F32 extents[] = {1.0f, 1.0f, 1.0f};
    F32 extents[] = {1.0f, 1.0f, 1.0f};
    dtPolyRef startRef, endRef;
    dtPolyRef startRef, endRef;
 
 
-   if(dtStatusFailed(mQuery->findNearestPoly(from, extents, &mFilter, &startRef, start)))
+   if(dtStatusFailed(mQuery->findNearestPoly(from, extents, &mFilter, &startRef, from)) || !startRef)
    {
    {
       Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
       Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
          start.x, start.y, start.z, getIdString());
          start.x, start.y, start.z, getIdString());
       return false;
       return false;
    }
    }
 
 
-   if(dtStatusFailed(mQuery->findNearestPoly(to, extents, &mFilter, &endRef, end)))
+   if(dtStatusFailed(mQuery->findNearestPoly(to, extents, &mFilter, &endRef, to)) || !startRef)
    {
    {
       Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
       Con::errorf("No NavMesh polygon near visit point (%g, %g, %g) of NavPath %s",
          end.x, end.y, end.z, getIdString());
          end.x, end.y, end.z, getIdString());