diff options
author | Richard Linden <none@none> | 2011-03-28 17:38:54 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2011-03-28 17:38:54 -0700 |
commit | 84b179b0bf254ae039dfdba330d25ac2df1c0a67 (patch) | |
tree | 8e35dad1a88b3538722ee3d68891fa6ef9fdf779 /indra/newview/llcommandhandler.cpp | |
parent | 5b316df2249fc62c1e6a4f089b9726c4e62f23e0 (diff) | |
parent | d597efc0f365fa07de9b7c0641dc4297466bfae5 (diff) |
Automated merge with file:///F:\code\viewer-autobuild2010
Diffstat (limited to 'indra/newview/llcommandhandler.cpp')
-rwxr-xr-x | indra/newview/llcommandhandler.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/newview/llcommandhandler.cpp b/indra/newview/llcommandhandler.cpp index 1b6ba02aac..bb1fb41fae 100755 --- a/indra/newview/llcommandhandler.cpp +++ b/indra/newview/llcommandhandler.cpp @@ -35,7 +35,7 @@ // system includes #include <boost/tokenizer.hpp> -#define THROTTLE_PERIOD 5 // required secs between throttled commands +#define THROTTLE_PERIOD 20 // required secs between throttled commands static LLCommandDispatcherListener sCommandDispatcherListener; @@ -59,6 +59,7 @@ public: const LLSD& params, const LLSD& query_map, LLMediaCtrl* web, + const std::string& nav_type, bool trusted_browser); private: @@ -91,6 +92,7 @@ bool LLCommandHandlerRegistry::dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, LLMediaCtrl* web, + const std::string& nav_type, bool trusted_browser) { static bool slurl_blocked = false; @@ -120,6 +122,14 @@ bool LLCommandHandlerRegistry::dispatch(const std::string& cmd, return true; case LLCommandHandler::UNTRUSTED_THROTTLE: + // if users actually click on a link, we don't need to throttle it + // (throttling mechanism is used to prevent an avalanche of clicks via + // javascript + if ( nav_type == "clicked" ) + { + break; + } + cur_time = LLTimer::getElapsedSeconds(); if (cur_time < last_throttle_time + THROTTLE_PERIOD) { @@ -166,10 +176,11 @@ bool LLCommandDispatcher::dispatch(const std::string& cmd, const LLSD& params, const LLSD& query_map, LLMediaCtrl* web, + const std::string& nav_type, bool trusted_browser) { return LLCommandHandlerRegistry::instance().dispatch( - cmd, params, query_map, web, trusted_browser); + cmd, params, query_map, web, nav_type, trusted_browser); } static std::string lookup(LLCommandHandler::EUntrustedAccess value); |