Skip to content
Snippets Groups Projects
Commit d7f372d6 authored by Todd Stinson's avatar Todd Stinson
Browse files

BUGFIX: Correcting a crash issue that was caused by the rebake navmesh...

BUGFIX: Correcting a crash issue that was caused by the rebake navmesh callback handler unexpectedly changing the navmesh state.
parent 7a61717d
No related branches found
No related tags found
No related merge requests found
...@@ -22,7 +22,7 @@ find_library(LL_PHYSICS_RELWITHDEBINFO_LIB ${LLPHYSICS_EXTENSIONS_LIB_NAME} PATH ...@@ -22,7 +22,7 @@ find_library(LL_PHYSICS_RELWITHDEBINFO_LIB ${LLPHYSICS_EXTENSIONS_LIB_NAME} PATH
set(LLPHYSICS_LIBRARIES set(LLPHYSICS_LIBRARIES
debug ${LL_PHYSICS_DEBUG_LIB} debug ${LL_PHYSICS_DEBUG_LIB}
optimized ${LL_PHYSICS_RELEASE_LIB} optimized ${LL_PHYSICS_RELWITHDEBINFO_LIB}
) )
if (LINUX) if (LINUX)
......
...@@ -159,6 +159,11 @@ void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshM ...@@ -159,6 +159,11 @@ void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshM
mRebakeNavMeshMode = pRebakeNavMeshMode; mRebakeNavMeshMode = pRebakeNavMeshMode;
} }
LLPanelPathfindingRebakeNavmesh::ERebakeNavMeshMode LLPanelPathfindingRebakeNavmesh::getMode() const
{
return mRebakeNavMeshMode;
}
void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick() void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick()
{ {
setMode(kRebakeNavMesh_RequestSent); setMode(kRebakeNavMesh_RequestSent);
...@@ -172,16 +177,14 @@ void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion) ...@@ -172,16 +177,14 @@ void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion)
void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus) void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus)
{ {
setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default); if (getMode() == kRebakeNavMesh_RequestSent)
if (!pResponseStatus)
{ {
LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh"); setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default);
} }
LLViewerRegion *currentRegion = gAgent.getRegion(); if (!pResponseStatus)
if (currentRegion != NULL)
{ {
LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true); LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh");
} }
} }
......
...@@ -66,7 +66,8 @@ class LLPanelPathfindingRebakeNavmesh : public LLPanel ...@@ -66,7 +66,8 @@ class LLPanelPathfindingRebakeNavmesh : public LLPanel
static LLPanelPathfindingRebakeNavmesh* getPanel(); static LLPanelPathfindingRebakeNavmesh* getPanel();
void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); void setMode(ERebakeNavMeshMode pRebakeNavMeshMode);
ERebakeNavMeshMode getMode() const;
void onNavMeshRebakeClick(); void onNavMeshRebakeClick();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment