diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-11-27 08:19:22 +0200 |
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-11-27 08:19:22 +0200 |
| commit | d0c7b4fade611bb3bd05a4e6230145b1babc9f7f (patch) | |
| tree | 96edb360c7cacaef64a4b865e7d97c9ef8404669 /indra/newview/llchannelmanager.cpp | |
| parent | 49216183902045a2b9ba4a0627eb4298a65c004c (diff) | |
| parent | 78bdf57ad6610b34389226bf941ba736ca0c2225 (diff) | |
Merged in lindenlab/viewer-release
Diffstat (limited to 'indra/newview/llchannelmanager.cpp')
| -rw-r--r-- | indra/newview/llchannelmanager.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/indra/newview/llchannelmanager.cpp b/indra/newview/llchannelmanager.cpp index d6240838b6..0b7b9cbbc7 100644 --- a/indra/newview/llchannelmanager.cpp +++ b/indra/newview/llchannelmanager.cpp @@ -58,15 +58,22 @@ LLChannelManager::LLChannelManager() //-------------------------------------------------------------------------- LLChannelManager::~LLChannelManager() { - for(std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) - { - LLScreenChannelBase* channel = it->channel.get(); - if (!channel) continue; +} - delete channel; - } +//-------------------------------------------------------------------------- +void LLChannelManager::cleanupSingleton() +{ + // Note: LLScreenChannelBase is a LLUICtrl and depends onto other singletions + // not captured by singleton-dependency, so cleanup it here instead of destructor + for (std::vector<ChannelElem>::iterator it = mChannelList.begin(); it != mChannelList.end(); ++it) + { + LLScreenChannelBase* channel = it->channel.get(); + if (!channel) continue; - mChannelList.clear(); + delete channel; + } + + mChannelList.clear(); } //-------------------------------------------------------------------------- |
