diff --git a/src/add-ons/kernel/file_systems/userlandfs/shared/ObjectTracker.cpp b/src/add-ons/kernel/file_systems/userlandfs/shared/ObjectTracker.cpp index b9ea2d666f..9d5b29f2cc 100644 --- a/src/add-ons/kernel/file_systems/userlandfs/shared/ObjectTracker.cpp +++ b/src/add-ons/kernel/file_systems/userlandfs/shared/ObjectTracker.cpp @@ -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 _(fLock); fTrackables.Insert(trackable); @@ -90,9 +91,6 @@ ObjectTracker::AddTrackable(ObjectTrackable* trackable) void ObjectTracker::RemoveTrackable(ObjectTrackable* trackable) { - if (!this) - return; - if (trackable) { AutoLocker _(fLock); fTrackables.Remove(trackable);