summaryrefslogtreecommitdiff
path: root/indra/llui/lluictrlfactory.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-07-11 08:14:34 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-07-11 08:14:34 -0400
commit18bd525d00ee3ce16164900293ee6ea8c2204589 (patch)
tree2df909295d47867ec3dba9737ee3631e31cdf04d /indra/llui/lluictrlfactory.cpp
parent70035274093e8803f8c7f28162feef311ef725b4 (diff)
MAINT-1175: Forbid LLRegistry[Singleton]<std::type_info*, ...>.
Back out code that selects LLTypeInfoLookup for the underlying map implementation when KEY = [const] std::type_info*, because LLTypeInfoLookup's API is changing to become incompatible with std::map. Instead, fail with STATIC_ASSERT when LLRegistry's KEY is [const] std::type_info*. Fix all existing uses to use std::type_info::name() string instead.
Diffstat (limited to 'indra/llui/lluictrlfactory.cpp')
-rw-r--r--indra/llui/lluictrlfactory.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp
index 25e7a31e90..fe3b470722 100644
--- a/indra/llui/lluictrlfactory.cpp
+++ b/indra/llui/lluictrlfactory.cpp
@@ -281,7 +281,7 @@ const LLInitParam::BaseBlock& get_empty_param_block()
void LLUICtrlFactory::registerWidget(const std::type_info* widget_type, const std::type_info* param_block_type, const std::string& tag)
{
// associate parameter block type with template .xml file
- std::string* existing_tag = LLWidgetNameRegistry::instance().getValue(param_block_type);
+ std::string* existing_tag = LLWidgetNameRegistry::instance().getValue(param_block_type->name());
if (existing_tag != NULL)
{
if(*existing_tag != tag)
@@ -297,7 +297,7 @@ void LLUICtrlFactory::registerWidget(const std::type_info* widget_type, const st
return;
}
}
- LLWidgetNameRegistry::instance().defaultRegistrar().add(param_block_type, tag);
+ LLWidgetNameRegistry::instance().defaultRegistrar().add(param_block_type->name(), tag);
//FIXME: comment this in when working on schema generation
//LLWidgetTypeRegistry::instance().defaultRegistrar().add(tag, widget_type);
//LLDefaultParamBlockRegistry::instance().defaultRegistrar().add(widget_type, &get_empty_param_block<T>);
@@ -306,6 +306,6 @@ void LLUICtrlFactory::registerWidget(const std::type_info* widget_type, const st
//static
const std::string* LLUICtrlFactory::getWidgetTag(const std::type_info* widget_type)
{
- return LLWidgetNameRegistry::instance().getValue(widget_type);
+ return LLWidgetNameRegistry::instance().getValue(widget_type->name());
}