diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h index 877de4062b..159d0c3abb 100644 --- a/modules/juce_core/juce_core.h +++ b/modules/juce_core/juce_core.h @@ -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" diff --git a/modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h b/modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h index 5a336dce55..53ff48ff19 100644 --- a/modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.h +++ b/modules/juce_core/memory/juce_HeavyweightLeakedObjectDetector.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*, String> BacktraceMap; + typedef std::map*, 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;