diff options
Diffstat (limited to 'indra/newview/llloginhandler.cpp')
-rw-r--r-- | indra/newview/llloginhandler.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp index 2a1f42c3c4..1be3430e07 100644 --- a/indra/newview/llloginhandler.cpp +++ b/indra/newview/llloginhandler.cpp @@ -40,9 +40,12 @@ #include "llurlsimstring.h" #include "llviewercontrol.h" // gSavedSettings #include "llviewernetwork.h" // EGridInfo +#include "llviewerwindow.h" // getWindow() // library includes #include "llmd5.h" +#include "llweb.h" +#include "llwindow.h" // Must have instance to auto-register with LLCommandDispatcher @@ -174,6 +177,32 @@ bool LLLoginHandler::handle(const LLSD& tokens, return true; } + if (tokens.size() == 1 + && tokens[0].asString() == "reg") + { + LLWindow* window = gViewerWindow->getWindow(); + window->incBusyCount(); + window->setCursor(UI_CURSOR_ARROW); + + // Do this first, as it may be slow and we want to keep something + // on the user's screen as long as possible + LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" ); + + window->decBusyCount(); + window->setCursor(UI_CURSOR_ARROW); + + // Then hide the window + window->minimize(); + return true; + } + + // Make sure window is visible + LLWindow* window = gViewerWindow->getWindow(); + if (window->getMinimized()) + { + window->restore(); + } + parse(query_map); //if we haven't initialized stuff yet, this is |