userlandfs: this being NULL is undefined beheviour.
this is now checked before calling the methods.
This commit is contained in:
committed by
Jérôme Duval
parent
c95da8e700
commit
8412d1d17a
@@ -13,13 +13,17 @@ static char sTrackerBuffer[sizeof(ObjectTracker)];
|
|||||||
// constructor
|
// constructor
|
||||||
ObjectTrackable::ObjectTrackable()
|
ObjectTrackable::ObjectTrackable()
|
||||||
{
|
{
|
||||||
ObjectTracker::GetDefault()->AddTrackable(this);
|
ObjectTracker* tracker = ObjectTracker::GetDefault();
|
||||||
|
if (tracker != NULL)
|
||||||
|
tracker->AddTrackable(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// destructor
|
// destructor
|
||||||
ObjectTrackable::~ObjectTrackable()
|
ObjectTrackable::~ObjectTrackable()
|
||||||
{
|
{
|
||||||
ObjectTracker::GetDefault()->RemoveTrackable(this);
|
ObjectTracker* tracker = ObjectTracker::GetDefault();
|
||||||
|
if (tracker != NULL)
|
||||||
|
tracker->RemoveTrackable(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -77,9 +81,6 @@ ObjectTracker::GetDefault()
|
|||||||
void
|
void
|
||||||
ObjectTracker::AddTrackable(ObjectTrackable* trackable)
|
ObjectTracker::AddTrackable(ObjectTrackable* trackable)
|
||||||
{
|
{
|
||||||
if (!this)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (trackable) {
|
if (trackable) {
|
||||||
AutoLocker<Locker> _(fLock);
|
AutoLocker<Locker> _(fLock);
|
||||||
fTrackables.Insert(trackable);
|
fTrackables.Insert(trackable);
|
||||||
@@ -90,9 +91,6 @@ ObjectTracker::AddTrackable(ObjectTrackable* trackable)
|
|||||||
void
|
void
|
||||||
ObjectTracker::RemoveTrackable(ObjectTrackable* trackable)
|
ObjectTracker::RemoveTrackable(ObjectTrackable* trackable)
|
||||||
{
|
{
|
||||||
if (!this)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (trackable) {
|
if (trackable) {
|
||||||
AutoLocker<Locker> _(fLock);
|
AutoLocker<Locker> _(fLock);
|
||||||
fTrackables.Remove(trackable);
|
fTrackables.Remove(trackable);
|
||||||
|
|||||||
Reference in New Issue
Block a user