diff options
author | Jacek Antonelli | 2010-06-22 20:09:45 -0500 |
---|---|---|
committer | Jacek Antonelli | 2010-06-22 20:54:46 -0500 |
commit | 932dd4d222b514f81ad5ad3a06b599cce04f7e23 (patch) | |
tree | 302628a0a951a25ea22ace711cbc6de0198384a8 | |
parent | Fixed radar spam regression (diff) | |
download | meta-impy-932dd4d222b514f81ad5ad3a06b599cce04f7e23.zip meta-impy-932dd4d222b514f81ad5ad3a06b599cce04f7e23.tar.gz meta-impy-932dd4d222b514f81ad5ad3a06b599cce04f7e23.tar.bz2 meta-impy-932dd4d222b514f81ad5ad3a06b599cce04f7e23.tar.xz |
Partially reverted cad41f1 and 65a5856 to help login issues.
This reverts (except for some parts):
- Commit cad41f1ae08927737eca4cd9df25381d78e82304.
"Fixed #338: addRegion/removeRegion can trigger a viewer quit"
- Commit 65a5856f9567074886f28df59a26433c4b447576.
"wip forcing region disconnects to log you out"
-rw-r--r-- | linden/indra/newview/llstartup.cpp | 11 | ||||
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 20 | ||||
-rw-r--r-- | linden/indra/newview/llworld.cpp | 31 |
3 files changed, 11 insertions, 51 deletions
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index 735397e..a391669 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp | |||
@@ -1809,13 +1809,8 @@ bool idle_startup() | |||
1809 | regionp->setSeedCapability(first_sim_seed_cap); | 1809 | regionp->setSeedCapability(first_sim_seed_cap); |
1810 | LL_DEBUGS("AppInit") << "Waiting for seed grant ...." << LL_ENDL; | 1810 | LL_DEBUGS("AppInit") << "Waiting for seed grant ...." << LL_ENDL; |
1811 | 1811 | ||
1812 | // Set agent's initial region to be the one we just created | 1812 | // Set agent's initial region to be the one we just created. |
1813 | // Only if we don't already have one set. We want to catch this here | 1813 | gAgent.setRegion(regionp); |
1814 | // because setRegion calls removeRegion, which kills the viewer -- MC | ||
1815 | if (!gAgent.getRegion() && gAgent.getRegion() != regionp) | ||
1816 | { | ||
1817 | gAgent.setRegion(regionp); | ||
1818 | } | ||
1819 | 1814 | ||
1820 | // Set agent's initial position, which will be read by LLVOAvatar when the avatar | 1815 | // Set agent's initial position, which will be read by LLVOAvatar when the avatar |
1821 | // object is created. I think this must be done after setting the region. JC | 1816 | // object is created. I think this must be done after setting the region. JC |
@@ -3629,7 +3624,6 @@ std::string LLStartUp::startupStateToString(EStartupState state) | |||
3629 | #define RTNENUM(E) case E: return #E | 3624 | #define RTNENUM(E) case E: return #E |
3630 | switch(state){ | 3625 | switch(state){ |
3631 | RTNENUM( STATE_FIRST ); | 3626 | RTNENUM( STATE_FIRST ); |
3632 | RTNENUM( STATE_BROWSER_INIT ); | ||
3633 | RTNENUM( STATE_LOGIN_SHOW ); | 3627 | RTNENUM( STATE_LOGIN_SHOW ); |
3634 | RTNENUM( STATE_LOGIN_WAIT ); | 3628 | RTNENUM( STATE_LOGIN_WAIT ); |
3635 | RTNENUM( STATE_LOGIN_CLEANUP ); | 3629 | RTNENUM( STATE_LOGIN_CLEANUP ); |
@@ -3640,7 +3634,6 @@ std::string LLStartUp::startupStateToString(EStartupState state) | |||
3640 | RTNENUM( STATE_LOGIN_DOWNLOADING ); | 3634 | RTNENUM( STATE_LOGIN_DOWNLOADING ); |
3641 | RTNENUM( STATE_LOGIN_PROCESS_RESPONSE ); | 3635 | RTNENUM( STATE_LOGIN_PROCESS_RESPONSE ); |
3642 | RTNENUM( STATE_WORLD_INIT ); | 3636 | RTNENUM( STATE_WORLD_INIT ); |
3643 | RTNENUM( STATE_MULTIMEDIA_INIT ); | ||
3644 | RTNENUM( STATE_SEED_GRANTED_WAIT ); | 3637 | RTNENUM( STATE_SEED_GRANTED_WAIT ); |
3645 | RTNENUM( STATE_SEED_CAP_GRANTED ); | 3638 | RTNENUM( STATE_SEED_CAP_GRANTED ); |
3646 | RTNENUM( STATE_WORLD_WAIT ); | 3639 | RTNENUM( STATE_WORLD_WAIT ); |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index b1c316d..ecbe0ef 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -3331,18 +3331,14 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) | |||
3331 | 3331 | ||
3332 | // set our upstream host the new simulator and shuffle things as | 3332 | // set our upstream host the new simulator and shuffle things as |
3333 | // appropriate. | 3333 | // appropriate. |
3334 | // Sometimes OpenSim will get here but still fail on a teleport -- MC | 3334 | LLVector3 shift_vector = regionp->getPosRegionFromGlobal( |
3335 | if (regionp != gAgent.getRegion()) | 3335 | gAgent.getRegion()->getOriginGlobal()); |
3336 | { | 3336 | gAgent.setRegion(regionp); |
3337 | LLVector3 shift_vector = regionp->getPosRegionFromGlobal( | 3337 | gObjectList.shiftObjects(shift_vector); |
3338 | gAgent.getRegion()->getOriginGlobal()); | 3338 | gAssetStorage->setUpstream(msg->getSender()); |
3339 | gAgent.setRegion(regionp); | 3339 | gCacheName->setUpstream(msg->getSender()); |
3340 | gObjectList.shiftObjects(shift_vector); | 3340 | gViewerThrottle.sendToSim(); |
3341 | gAssetStorage->setUpstream(msg->getSender()); | 3341 | gViewerWindow->sendShapeToSim(); |
3342 | gCacheName->setUpstream(msg->getSender()); | ||
3343 | gViewerThrottle.sendToSim(); | ||
3344 | gViewerWindow->sendShapeToSim(); | ||
3345 | } | ||
3346 | 3342 | ||
3347 | bool is_teleport = gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING; | 3343 | bool is_teleport = gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING; |
3348 | 3344 | ||
diff --git a/linden/indra/newview/llworld.cpp b/linden/indra/newview/llworld.cpp index 50d4250..90ab49b 100644 --- a/linden/indra/newview/llworld.cpp +++ b/linden/indra/newview/llworld.cpp | |||
@@ -43,9 +43,7 @@ | |||
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" | ||
47 | #include "llregionhandle.h" | 46 | #include "llregionhandle.h" |
48 | #include "llstartup.h" | ||
49 | #include "llsurface.h" | 47 | #include "llsurface.h" |
50 | #include "llviewercamera.h" | 48 | #include "llviewercamera.h" |
51 | #include "llviewerimage.h" | 49 | #include "llviewerimage.h" |
@@ -86,7 +84,6 @@ const F32 LLWorld::mWidthInMeters = mWidth * mScale; | |||
86 | // | 84 | // |
87 | // Functions | 85 | // Functions |
88 | // | 86 | // |
89 | bool connecting_alert_done(const LLSD& notification, const LLSD& response); | ||
90 | 87 | ||
91 | // allocate the stack | 88 | // allocate the stack |
92 | LLWorld::LLWorld() : | 89 | LLWorld::LLWorld() : |
@@ -266,19 +263,7 @@ void LLWorld::removeRegion(const LLHost &host) | |||
266 | llwarns << "gFrameTimeSeconds " << gFrameTimeSeconds << llendl; | 263 | llwarns << "gFrameTimeSeconds " << gFrameTimeSeconds << llendl; |
267 | 264 | ||
268 | llwarns << "Disabling region " << regionp->getName() << " that agent is in!" << llendl; | 265 | llwarns << "Disabling region " << regionp->getName() << " that agent is in!" << llendl; |
269 | 266 | LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in."); | |
270 | // Don't ever forceQuit on the user during startup if we can avoid it -- MC | ||
271 | //LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in."); | ||
272 | // We stop a login, even if it's a successful one, as the expected behavior is to not receive | ||
273 | // any more messages from a sim when we receive the DisableSimulator message, despite the viewer | ||
274 | // continuing to connect anyway -- MC | ||
275 | if (LLStartUp::getStartupState() < STATE_STARTED) | ||
276 | { | ||
277 | //LLStartUp::setLoginFailed(true); | ||
278 | LLStartUp::setStartupState(STATE_SEED_GRANTED_WAIT); | ||
279 | } | ||
280 | LLNotifications::instance().add("DisconnectedFromRegion", LLSD(), LLSD(), connecting_alert_done); | ||
281 | |||
282 | return; | 267 | return; |
283 | } | 268 | } |
284 | 269 | ||
@@ -1258,20 +1243,6 @@ void LLWorld::getAvatars(std::vector<LLUUID>* avatar_ids, std::vector<LLVector3d | |||
1258 | } | 1243 | } |
1259 | } | 1244 | } |
1260 | 1245 | ||
1261 | bool connecting_alert_done(const LLSD& notification, const LLSD& response) | ||
1262 | { | ||
1263 | if (LLStartUp::getStartupState() < STATE_STARTED) | ||
1264 | { | ||
1265 | LLStartUp::resetLogin(); | ||
1266 | LLPanelLogin::giveFocus(); | ||
1267 | } | ||
1268 | else | ||
1269 | { | ||
1270 | // TODO: make this translatable | ||
1271 | LLAppViewer::instance()->forceDisconnect("You have been disconnected from the region you were in. Unable to continue."); | ||
1272 | } | ||
1273 | return false; | ||
1274 | } | ||
1275 | 1246 | ||
1276 | LLHTTPRegistration<LLEstablishAgentCommunication> | 1247 | LLHTTPRegistration<LLEstablishAgentCommunication> |
1277 | gHTTPRegistrationEstablishAgentCommunication( | 1248 | gHTTPRegistrationEstablishAgentCommunication( |