summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorRichard Linden <none@none>2011-07-13 17:59:53 -0700
committerRichard Linden <none@none>2011-07-13 17:59:53 -0700
commit38ba526cc57799211c4d926a6b4009cef32d21cd (patch)
treec3682b2b1fea7f89041f467e8f35dc4523a76052 /indra/llui
parent42c6949e304b1a0ba19251ba889132796adb1295 (diff)
EXP-1009 WIP Teleport links from Search floater and destination guide in viewer fail with intrusted browser error in viewer
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloaterreg.cpp7
-rw-r--r--indra/llui/llsdparam.h1
2 files changed, 6 insertions, 2 deletions
diff --git a/indra/llui/llfloaterreg.cpp b/indra/llui/llfloaterreg.cpp
index 4677d535db..f5e6444287 100644
--- a/indra/llui/llfloaterreg.cpp
+++ b/indra/llui/llfloaterreg.cpp
@@ -129,7 +129,10 @@ LLFloater* LLFloaterReg::getInstance(const std::string& name, const LLSD& key)
}
// Note: key should eventually be a non optional LLFloater arg; for now, set mKey to be safe
- res->mKey = key;
+ if (res->mKey.isUndefined())
+ {
+ res->mKey = key;
+ }
res->setInstanceName(name);
res->applySavedVariables(); // Can't apply rect and dock state until setting instance name
if (res->mAutoTile && !res->getHost() && index > 0)
@@ -221,7 +224,7 @@ LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key,
LLFloater* instance = getInstance(name, key);
if (instance)
{
- instance->openFloater(key);
+ instance->openFloater(instance->mKey);
if (focus)
instance->setFocus(TRUE);
}
diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h
index 827b8c8584..f776c781b3 100644
--- a/indra/llui/llsdparam.h
+++ b/indra/llui/llsdparam.h
@@ -103,6 +103,7 @@ class LLSDParamAdapter : public T
}
LLSDParamAdapter(const T& val)
+ : T(val)
{
T::operator=(val);
}