summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorRick Pasetto <rick@lindenlab.com>2010-02-05 13:28:42 -0800
committerRick Pasetto <rick@lindenlab.com>2010-02-05 13:28:42 -0800
commitf0c724f933902cf9aef9999604152cba49af1f88 (patch)
tree8d34b24f248957cf0636aa0c5ed58a1146f00bcc /indra
parentb8cc4605d5bb748f12d0990f6344a1f72954ca29 (diff)
FIX EXT-4927: use internal browser when requested
Review #97 This hopefully fixes the incorrect behavior of using the external browser when the target is specified.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llmediactrl.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 3c34d26692..501a137b42 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -982,16 +982,20 @@ void LLMediaCtrl::onClickLinkHref( LLPluginClassMedia* self )
U32 target_type = self->getClickTargetType();
// is there is a target specified for the link?
- if (gSavedSettings.getBOOL("UseExternalBrowser") || target_type == LLPluginClassMedia::TARGET_EXTERNAL)
+ if (target_type == LLPluginClassMedia::TARGET_EXTERNAL ||
+ target_type == LLPluginClassMedia::TARGET_BLANK )
{
- LLSD payload;
- payload["url"] = url;
- payload["target_type"] = LLSD::Integer(target_type);
- LLNotificationsUtil::add( "WebLaunchExternalTarget", LLSD(), payload, onClickLinkExternalTarget);
- }
- else if (target_type == LLPluginClassMedia::TARGET_BLANK)
- {
- clickLinkWithTarget(url, target_type);
+ if (gSavedSettings.getBOOL("UseExternalBrowser"))
+ {
+ LLSD payload;
+ payload["url"] = url;
+ payload["target_type"] = LLSD::Integer(target_type);
+ LLNotificationsUtil::add( "WebLaunchExternalTarget", LLSD(), payload, onClickLinkExternalTarget);
+ }
+ else
+ {
+ clickLinkWithTarget(url, target_type);
+ }
}
else {
const std::string protocol1( "http://" );
@@ -1042,7 +1046,7 @@ bool LLMediaCtrl::onClickLinkExternalTarget(const LLSD& notification, const LLSD
// static
void LLMediaCtrl::clickLinkWithTarget(const std::string& url, const S32& target_type )
{
- if (gSavedSettings.getBOOL("UseExternalBrowser") || target_type == LLPluginClassMedia::TARGET_EXTERNAL)
+ if (target_type == LLPluginClassMedia::TARGET_EXTERNAL)
{
// load target in an external browser
LLWeb::loadURLExternal(url);