diff --git a/src/apps/debuganalyzer/model/Model.cpp b/src/apps/debuganalyzer/model/Model.cpp index 0c24b3f8f4..f1e1f64b43 100644 --- a/src/apps/debuganalyzer/model/Model.cpp +++ b/src/apps/debuganalyzer/model/Model.cpp @@ -648,6 +648,9 @@ Model::~Model() delete[] fEvents; free(fEventData); + + for (int32 i = 0; void* data = fAssociatedData.ItemAt(i); i++) + free(data); } @@ -695,6 +698,20 @@ Model::ClosestEventIndex(nanotime_t eventTime) const } +bool +Model::AddAssociatedData(void* data) +{ + return fAssociatedData.AddItem(data); +} + + +void +Model::RemoveAssociatedData(void* data) +{ + fAssociatedData.RemoveItem(data); +} + + void Model::LoadingFinished() { diff --git a/src/apps/debuganalyzer/model/Model.h b/src/apps/debuganalyzer/model/Model.h index 6842f74875..cb0c6bb19f 100644 --- a/src/apps/debuganalyzer/model/Model.h +++ b/src/apps/debuganalyzer/model/Model.h @@ -71,6 +71,9 @@ public: // time >= eventTime; may return // CountEvents() + bool AddAssociatedData(void* data); + void RemoveAssociatedData(void* data); + void LoadingFinished(); inline nanotime_t BaseTime() const; @@ -160,6 +163,7 @@ private: WaitObjectGroupList fWaitObjectGroups; IOSchedulerList fIOSchedulers; SchedulingStateList fSchedulingStates; + BList fAssociatedData; };