diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2017-11-29 14:47:09 -0500 |
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2017-11-29 14:47:09 -0500 |
| commit | e3a2c5e3217ae74a0277f2e6d4e1e708fe398a1c (patch) | |
| tree | f912ed486a465f5cc0aee5c73c9cb70c195e8c4d /indra/llcommon/llevents.cpp | |
| parent | 1693ccba58eef676df1f91e50627545ac35bb819 (diff) | |
| parent | bf98e092e53ed228b3cb50fe816058c5a7817329 (diff) | |
DRTVWR-418: Merge from latest viewer-release
Diffstat (limited to 'indra/llcommon/llevents.cpp')
| -rw-r--r-- | indra/llcommon/llevents.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/indra/llcommon/llevents.cpp b/indra/llcommon/llevents.cpp index 93db6c0d17..dce97b5411 100644 --- a/indra/llcommon/llevents.cpp +++ b/indra/llcommon/llevents.cpp @@ -281,7 +281,8 @@ const std::string LLEventPump::ANONYMOUS = std::string(); LLEventPump::LLEventPump(const std::string& name, bool tweak): // Register every new instance with LLEventPumps - mName(LLEventPumps::instance().registerNew(*this, name, tweak)), + mRegistry(LLEventPumps::instance().getHandle()), + mName(mRegistry.get()->registerNew(*this, name, tweak)), mSignal(new LLStandardSignal()), mEnabled(true) {} @@ -292,8 +293,13 @@ LLEventPump::LLEventPump(const std::string& name, bool tweak): LLEventPump::~LLEventPump() { - // Unregister this doomed instance from LLEventPumps - LLEventPumps::instance().unregister(*this); + // Unregister this doomed instance from LLEventPumps -- but only if + // LLEventPumps is still around! + LLEventPumps* registry = mRegistry.get(); + if (registry) + { + registry->unregister(*this); + } } // static data member |
