mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Remove HashMap dependency from HeavyweightLeakedObjectDetector so it can be included as early as possible
This commit is contained in:
parent
165654e73c
commit
09daeb3a6d
2 changed files with 8 additions and 8 deletions
|
|
@ -269,6 +269,8 @@ namespace juce
|
|||
#include "text/juce_StringPool.h"
|
||||
#include "text/juce_Identifier.h"
|
||||
#include "text/juce_StringArray.h"
|
||||
#include "system/juce_SystemStats.h"
|
||||
#include "memory/juce_HeavyweightLeakedObjectDetector.h"
|
||||
#include "text/juce_StringPairArray.h"
|
||||
#include "text/juce_TextDiff.h"
|
||||
#include "text/juce_LocalisedStrings.h"
|
||||
|
|
@ -280,8 +282,6 @@ namespace juce
|
|||
#include "containers/juce_NamedValueSet.h"
|
||||
#include "containers/juce_DynamicObject.h"
|
||||
#include "containers/juce_HashMap.h"
|
||||
#include "system/juce_SystemStats.h"
|
||||
#include "memory/juce_HeavyweightLeakedObjectDetector.h"
|
||||
#include "time/juce_RelativeTime.h"
|
||||
#include "time/juce_Time.h"
|
||||
#include "streams/juce_InputStream.h"
|
||||
|
|
|
|||
|
|
@ -44,14 +44,14 @@ class HeavyweightLeakedObjectDetector
|
|||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
HeavyweightLeakedObjectDetector() noexcept { getBacktraceMap().set (this, SystemStats::getStackBacktrace()); }
|
||||
HeavyweightLeakedObjectDetector (const HeavyweightLeakedObjectDetector&) noexcept { getBacktraceMap().set (this, SystemStats::getStackBacktrace()); }
|
||||
HeavyweightLeakedObjectDetector() noexcept { getBacktraceMap()[this] = SystemStats::getStackBacktrace(); }
|
||||
HeavyweightLeakedObjectDetector (const HeavyweightLeakedObjectDetector&) noexcept { getBacktraceMap()[this] = SystemStats::getStackBacktrace(); }
|
||||
|
||||
~HeavyweightLeakedObjectDetector() { getBacktraceMap().remove (this); }
|
||||
~HeavyweightLeakedObjectDetector() { getBacktraceMap().erase (this); }
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
typedef HashMap<HeavyweightLeakedObjectDetector<OwnerClass>*, String> BacktraceMap;
|
||||
typedef std::map<HeavyweightLeakedObjectDetector<OwnerClass>*, String> BacktraceMap;
|
||||
|
||||
//==============================================================================
|
||||
struct BacktraceMapHolder
|
||||
|
|
@ -82,11 +82,11 @@ private:
|
|||
String str;
|
||||
|
||||
int counter = 1;
|
||||
for (typename BacktraceMap::Iterator i (map); i.next();)
|
||||
for (auto& bt : map)
|
||||
{
|
||||
str << "\nBacktrace " << String (counter++) << "\n"
|
||||
<< "-----------------------------------------------------------------" << "\n"
|
||||
<< i.getValue();
|
||||
<< bt.second;
|
||||
}
|
||||
|
||||
return str;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue