userlandfs: this being NULL is undefined beheviour.

this is now checked before calling the methods.
This commit is contained in:
Jerome Duval 2017-07-06 07:36:40 +02:00 committed by Jérôme Duval
parent c95da8e700
commit 8412d1d17a

View File

@ -13,13 +13,17 @@ static char sTrackerBuffer[sizeof(ObjectTracker)];
// constructor
ObjectTrackable::ObjectTrackable()
{
ObjectTracker::GetDefault()->AddTrackable(this);
ObjectTracker* tracker = ObjectTracker::GetDefault();
if (tracker != NULL)
tracker->AddTrackable(this);
}
// destructor
ObjectTrackable::~ObjectTrackable()
{
ObjectTracker::GetDefault()->RemoveTrackable(this);
ObjectTracker* tracker = ObjectTracker::GetDefault();
if (tracker != NULL)
tracker->RemoveTrackable(this);
}
@ -77,9 +81,6 @@ ObjectTracker::GetDefault()
void
ObjectTracker::AddTrackable(ObjectTrackable* trackable)
{
if (!this)
return;
if (trackable) {
AutoLocker<Locker> _(fLock);
fTrackables.Insert(trackable);
@ -90,9 +91,6 @@ ObjectTracker::AddTrackable(ObjectTrackable* trackable)
void
ObjectTracker::RemoveTrackable(ObjectTrackable* trackable)
{
if (!this)
return;
if (trackable) {
AutoLocker<Locker> _(fLock);
fTrackables.Remove(trackable);