diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llworld.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/linden/indra/newview/llworld.cpp b/linden/indra/newview/llworld.cpp index 90ab49b..7cceb30 100644 --- a/linden/indra/newview/llworld.cpp +++ b/linden/indra/newview/llworld.cpp | |||
@@ -43,7 +43,9 @@ | |||
43 | #include "lldrawpool.h" | 43 | #include "lldrawpool.h" |
44 | #include "llglheaders.h" | 44 | #include "llglheaders.h" |
45 | #include "llhttpnode.h" | 45 | #include "llhttpnode.h" |
46 | #include "llpanellogin.h" | ||
46 | #include "llregionhandle.h" | 47 | #include "llregionhandle.h" |
48 | #include "llstartup.h" | ||
47 | #include "llsurface.h" | 49 | #include "llsurface.h" |
48 | #include "llviewercamera.h" | 50 | #include "llviewercamera.h" |
49 | #include "llviewerimage.h" | 51 | #include "llviewerimage.h" |
@@ -84,6 +86,7 @@ const F32 LLWorld::mWidthInMeters = mWidth * mScale; | |||
84 | // | 86 | // |
85 | // Functions | 87 | // Functions |
86 | // | 88 | // |
89 | bool connecting_alert_done(const LLSD& notification, const LLSD& response); | ||
87 | 90 | ||
88 | // allocate the stack | 91 | // allocate the stack |
89 | LLWorld::LLWorld() : | 92 | LLWorld::LLWorld() : |
@@ -263,7 +266,13 @@ void LLWorld::removeRegion(const LLHost &host) | |||
263 | llwarns << "gFrameTimeSeconds " << gFrameTimeSeconds << llendl; | 266 | llwarns << "gFrameTimeSeconds " << gFrameTimeSeconds << llendl; |
264 | 267 | ||
265 | llwarns << "Disabling region " << regionp->getName() << " that agent is in!" << llendl; | 268 | llwarns << "Disabling region " << regionp->getName() << " that agent is in!" << llendl; |
266 | LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in."); | 269 | |
270 | // Don't ever forceQuit on the user if we can avoid it -- MC | ||
271 | //LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in."); | ||
272 | LLSD args; | ||
273 | args["ERROR_MESSAGE"] = "You have been disconnected from the region you were in."; | ||
274 | LLNotifications::instance().add("ErrorMessage", args, LLSD(), connecting_alert_done); | ||
275 | |||
267 | return; | 276 | return; |
268 | } | 277 | } |
269 | 278 | ||
@@ -1243,6 +1252,20 @@ void LLWorld::getAvatars(std::vector<LLUUID>* avatar_ids, std::vector<LLVector3d | |||
1243 | } | 1252 | } |
1244 | } | 1253 | } |
1245 | 1254 | ||
1255 | bool connecting_alert_done(const LLSD& notification, const LLSD& response) | ||
1256 | { | ||
1257 | if (LLStartUp::getStartupState() < STATE_STARTED) | ||
1258 | { | ||
1259 | //LLStartUp::setLoginFailed(true); | ||
1260 | LLStartUp::resetLogin(); | ||
1261 | LLPanelLogin::giveFocus(); | ||
1262 | } | ||
1263 | else | ||
1264 | { | ||
1265 | LLAppViewer::instance()->requestLogout(false); | ||
1266 | } | ||
1267 | return false; | ||
1268 | } | ||
1246 | 1269 | ||
1247 | LLHTTPRegistration<LLEstablishAgentCommunication> | 1270 | LLHTTPRegistration<LLEstablishAgentCommunication> |
1248 | gHTTPRegistrationEstablishAgentCommunication( | 1271 | gHTTPRegistrationEstablishAgentCommunication( |