diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/llfloatertos.cpp | 16 | ||||
| -rwxr-xr-x | indra/newview/llfloatertos.h | 2 | 
2 files changed, 13 insertions, 5 deletions
| diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp index 9bb4fe59ad..3597d70e0d 100755 --- a/indra/newview/llfloatertos.cpp +++ b/indra/newview/llfloatertos.cpp @@ -44,6 +44,7 @@  #include "message.h"  #include "llstartup.h"              // login_alert_done  #include "llcorehttputil.h" +#include "llfloaterreg.h"  LLFloaterTOS::LLFloaterTOS(const LLSD& data)  :	LLModalDialog( data["message"].asString() ), @@ -196,7 +197,7 @@ void LLFloaterTOS::handleMediaEvent(LLPluginClassMedia* /*self*/, EMediaEvent ev              std::string url(getString("real_url"));              LLCoros::instance().launch("LLFloaterTOS::testSiteIsAliveCoro", -                boost::bind(&LLFloaterTOS::testSiteIsAliveCoro, this, url)); +                boost::bind(&LLFloaterTOS::testSiteIsAliveCoro, url));  		}  		else if(mRealNavigateBegun)  		{ @@ -216,18 +217,25 @@ void LLFloaterTOS::testSiteIsAliveCoro(std::string url)      LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest);      LLCore::HttpOptions::ptr_t httpOpts = LLCore::HttpOptions::ptr_t(new LLCore::HttpOptions); +      httpOpts->setWantHeaders(true); -    LL_INFOS("HttpCoroutineAdapter", "genericPostCoro") << "Generic POST for " << url << LL_ENDL; + +    LL_INFOS("testSiteIsAliveCoro") << "Generic POST for " << url << LL_ENDL;      LLSD result = httpAdapter->getAndSuspend(httpRequest, url);      LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];      LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); +    LLFloaterTOS *that = LLFloaterReg::findTypedInstance<LLFloaterTOS>("message_tos");      // double not.   -    // First ! returns a boolean error status, second ! is true if success result. -    setSiteIsAlive(!!status);  +    if (that) +        that->setSiteIsAlive(static_cast<bool>(status));  +    else +    { +        LL_WARNS("testSiteIsAliveCoro") << "Dialog canceled before response." << LL_ENDL; +    }  } diff --git a/indra/newview/llfloatertos.h b/indra/newview/llfloatertos.h index 2748b20513..b71b80ed24 100755 --- a/indra/newview/llfloatertos.h +++ b/indra/newview/llfloatertos.h @@ -62,7 +62,7 @@ public:  	/*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event);  private: -    void testSiteIsAliveCoro(std::string url); +    static void testSiteIsAliveCoro(std::string url);  	std::string		mMessage;  	bool			mLoadingScreenLoaded; | 
