From e5c63668968790076aa9b6354c22e3cf7078c178 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 1 Nov 2008 20:21:47 +0000 Subject: [PATCH] AbstractThreadProfileResult::SynchronizeImages(): New images were only added, if their creation event was now or in the future. Obviously we're only interested in images that do already exist, though. Also get rid of "new" images that already have been deleted in the meantime. Fixes problem that for some threads (almost) no images were added and thus no functions could be resolved. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28441 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/bin/debug/profile/Thread.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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); } } }