diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index 4a8fd020d43fb734fc7856c446615ad6fef1de6a..0af795d64b80eed3a7af3919da9c8a7e36e0adf9 100755 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -656,6 +656,18 @@ std::string LLGridManager::getGrid(const std::string& grid) const return grid_name; } +std::string LLGridManager::getGridByProbing(const std::string& identifier) const +{ + std::string grid = LLStringUtil::null; + grid = getGridByAttribute(GRID_VALUE, identifier); + if (!grid.empty()) return grid; + grid = getGridByAttribute(GRID_ID_VALUE, identifier); + if (!grid.empty()) return grid; + grid = getGridByAttribute(GRID_GATEKEEPER, identifier); + if (!grid.empty()) return grid; + return grid; +} + std::string LLGridManager::getGridByAttribute(const std::string& attribute, const std::string& value) const { if (attribute.empty() || value.empty()) return LLStringUtil::null; @@ -958,7 +970,9 @@ std::string LLGridManager::getAppSLURLBase(const std::string& grid) const } else { - grid_base = llformat(DEFAULT_APP_SLURL_BASE, grid_name.c_str()); + // *FIXME: Revert this when slurls are fixed! + //grid_base = llformat(DEFAULT_APP_SLURL_BASE, grid_name.c_str()); + grid_base = SYSTEM_GRID_APP_SLURL_BASE; } } LL_DEBUGS("GridManager")<<"returning '"<<grid_base<<"'"<<LL_ENDL; diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h index f1b6e79f7059545142c87fadda52ec915e94542b..0a71a5b912f1c23fa49152eed794120b5946dca9 100755 --- a/indra/newview/llviewernetwork.h +++ b/indra/newview/llviewernetwork.h @@ -90,6 +90,9 @@ class LLGridManager : public LLSingleton<LLGridManager> /// Return the name of a grid, given either its name or its id std::string getGrid(const std::string& grid) const; + /// Returns the grid value by probing attributes + std::string getGridByProbing(const std::string& identifier) const; + /// Return the grid value by attribute std::string getGridByAttribute(const std::string& attribute, const std::string& value) const;