Adding functionality to better handle the cause where the capability service does not exist to the linksets floater.

meow-7.2.2
Todd Stinson 2012-02-07 14:25:59 -08:00
parent fa46459cdb
commit 90c174d876
3 changed files with 11 additions and 2 deletions

View File

@ -285,7 +285,7 @@ void LLFloaterPathfindingLinksets::sendNavMeshDataGetRequest()
std::string navMeshDataURL = getCapabilityURL();
if (navMeshDataURL.empty())
{
setMessagingState(kMessagingComplete);
setMessagingState(kMessagingServiceNotAvailable);
llwarns << "cannot query object navmesh properties from current region '" << getRegionName() << "'" << llendl;
}
else
@ -300,13 +300,16 @@ void LLFloaterPathfindingLinksets::sendNavMeshDataPutRequest(const LLSD& pPostDa
{
if (!isMessagingInProgress())
{
setMessagingState(kMessagingModifyStarting);
std::string navMeshDataURL = getCapabilityURL();
if (navMeshDataURL.empty())
{
setMessagingState(kMessagingServiceNotAvailable);
llwarns << "cannot put object navmesh properties for current region '" << getRegionName() << "'" << llendl;
}
else
{
setMessagingState(kMessagingModifyRequestSent);
LLHTTPClient::put(navMeshDataURL, pPostData, new NavMeshDataPutResponder(navMeshDataURL, mSelfHandle));
}
}
@ -602,6 +605,10 @@ void LLFloaterPathfindingLinksets::updateLinksetsStatusMessage()
statusText = getString("linksets_messaging_complete_available", string_args);
}
break;
case kMessagingServiceNotAvailable :
statusText = getString("linksets_messaging_service_not_available");
styleParams.color = warningColor;
break;
default:
statusText = getString("linksets_messaging_initial");
llassert(0);

View File

@ -62,7 +62,8 @@ public:
kMessagingModifyRequestSent,
kMessagingModifyReceived,
kMessagingModifyError,
kMessagingComplete
kMessagingComplete,
kMessagingServiceNotAvailable
} EMessagingState;
virtual BOOL postBuild();

View File

@ -26,6 +26,7 @@
<floater.string name="linksets_messaging_modify_error">Error detected while modifying for pathfinding linksets</floater.string>
<floater.string name="linksets_messaging_complete_none_found">No pathfinding linksets</floater.string>
<floater.string name="linksets_messaging_complete_available">[NUM_SELECTED] linksets selected out of [NUM_TOTAL]</floater.string>
<floater.string name="linksets_messaging_service_not_available">Required capability is not available in current region</floater.string>
<floater.string name="linkset_path_state_walkable">Walkable</floater.string>
<floater.string name="linkset_path_state_obstacle">Obstacle</floater.string>
<floater.string name="linkset_path_state_ignored">Ignored</floater.string>