From b9a9b0017dd4714cbca4b0ddb69ed5e6b2f09528 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Wed, 9 Mar 2011 17:01:08 -0800 Subject: Fix for "doubleton" error using LLInstanceTracker across shared library boundaries. --- indra/llcommon/llinstancetracker.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'indra/llcommon/llinstancetracker.cpp') 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 instances; + + std::string k = info.name(); + if(instances.find(k) == instances.end()) + { + instances[k] = NULL; + } + + return instances[k]; +} + -- cgit v1.2.3