* cleaned up fPulseRunner stuff, I have no idea why fPulseEnabled was

useful... so I removed it
* fixed memory leak with SetPulseRate(0), fPulseRunner is now
  properly freed in the Window destructor
* fTitle is now freed as well
* fix some potential leaks in BView destructor as well

I wrote a stress test app, which I'm soon going to commit as well...
it shows that not all memory leaks are fixed by this patch, I could
use some help with this...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16713 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2006-03-11 19:32:53 +00:00
parent 4316cb15fa
commit ecf9f94800
3 changed files with 20 additions and 27 deletions
+4 -5
View File
@@ -565,6 +565,7 @@ BView::~BView()
SetName(NULL);
removeCommArray();
delete fState;
}
@@ -809,7 +810,7 @@ BView::SetFlags(uint32 flags)
if (fOwner) {
if (flags & B_PULSE_NEEDED) {
check_lock_no_pick();
if (!fOwner->fPulseEnabled)
if (fOwner->fPulseRunner == NULL)
fOwner->SetPulseRate(500000);
}
@@ -2996,9 +2997,7 @@ BView::EndLineArray()
_FlushIfNotInTransaction();
delete [] comm->array;
delete comm;
comm = NULL;
removeCommArray();
}
@@ -4120,7 +4119,7 @@ BView::_Attach()
if (fOwner) {
if (fFlags & B_PULSE_NEEDED) {
check_lock_no_pick();
if (!fOwner->fPulseEnabled)
if (fOwner->fPulseRunner == NULL)
fOwner->SetPulseRate(500000);
}
}