diff --git a/src/bin/debug/profile/Thread.h b/src/bin/debug/profile/Thread.h index f32c72772e..26a4437ba5 100644 --- a/src/bin/debug/profile/Thread.h +++ b/src/bin/debug/profile/Thread.h @@ -255,9 +255,14 @@ AbstractThreadProfileResult::SynchronizeImages(int32 event) // add new images it = fNewImages.GetIterator(); while (ThreadImageType* image = it.Next()) { - if (image->GetImage()->CreationEvent() >= event) { + if (image->GetImage()->CreationEvent() <= event) { it.Remove(); - fImages.Add(image); + int32 deleted = image->GetImage()->DeletionEvent(); + if (deleted >= 0 && event >= deleted) { + // image already deleted + delete image; + } else + fImages.Add(image); } } }