diff options
| author | brad kittenbrink <brad@lindenlab.com> | 2011-03-09 17:01:08 -0800 |
|---|---|---|
| committer | brad kittenbrink <brad@lindenlab.com> | 2011-03-09 17:01:08 -0800 |
| commit | b9a9b0017dd4714cbca4b0ddb69ed5e6b2f09528 (patch) | |
| tree | 10c9fb8b778e31296d0e70c05bac7cec837d9b0f /indra/llcommon/llinstancetracker.cpp | |
| parent | 30a772c5f190827d10a552fccee0252765be429a (diff) | |
Fix for "doubleton" error using LLInstanceTracker across shared library boundaries.
Diffstat (limited to 'indra/llcommon/llinstancetracker.cpp')
| -rw-r--r-- | indra/llcommon/llinstancetracker.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/indra/llcommon/llinstancetracker.cpp b/indra/llcommon/llinstancetracker.cpp index 89bc6cca39..f576204511 100644 --- a/indra/llcommon/llinstancetracker.cpp +++ b/indra/llcommon/llinstancetracker.cpp @@ -32,6 +32,17 @@ // external library headers // other Linden headers -// llinstancetracker.h is presently header-only. This file exists only because our CMake -// test macro ADD_BUILD_TEST requires it. -int dummy = 0; +//static +void * & LLInstanceTrackerBase::getInstances(std::type_info const & info) +{ + static std::map<std::string, void *> instances; + + std::string k = info.name(); + if(instances.find(k) == instances.end()) + { + instances[k] = NULL; + } + + return instances[k]; +} + |
