Part of fix for 18315 -- allow nsSupportsHashTable to contain null entries, which meant changing NS_{ADDREF,RELEASE} to NS_IF_{ADDREF,RELEASE} in a bunch of places. r=pavlov.
This commit is contained in:
@@ -384,7 +384,7 @@ static PR_CALLBACK PRBool
|
|||||||
_ReleaseElement(nsHashKey *aKey, void *aData, void* closure)
|
_ReleaseElement(nsHashKey *aKey, void *aData, void* closure)
|
||||||
{
|
{
|
||||||
nsISupports* element = NS_STATIC_CAST(nsISupports*, aData);
|
nsISupports* element = NS_STATIC_CAST(nsISupports*, aData);
|
||||||
NS_RELEASE(element);
|
NS_IF_RELEASE(element);
|
||||||
return PR_TRUE;
|
return PR_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -397,7 +397,7 @@ void*
|
|||||||
nsSupportsHashtable::Put(nsHashKey *aKey, void *aData)
|
nsSupportsHashtable::Put(nsHashKey *aKey, void *aData)
|
||||||
{
|
{
|
||||||
nsISupports* element = NS_STATIC_CAST(nsISupports*, aData);
|
nsISupports* element = NS_STATIC_CAST(nsISupports*, aData);
|
||||||
NS_ADDREF(element);
|
NS_IF_ADDREF(element);
|
||||||
return nsHashtable::Put(aKey, aData);
|
return nsHashtable::Put(aKey, aData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ nsSupportsHashtable::Get(nsHashKey *aKey)
|
|||||||
if (!data)
|
if (!data)
|
||||||
return nsnull;
|
return nsnull;
|
||||||
nsISupports* element = NS_STATIC_CAST(nsISupports*, data);
|
nsISupports* element = NS_STATIC_CAST(nsISupports*, data);
|
||||||
NS_ADDREF(element);
|
NS_IF_ADDREF(element);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,7 +419,7 @@ nsSupportsHashtable::Remove(nsHashKey *aKey)
|
|||||||
if (!data)
|
if (!data)
|
||||||
return nsnull;
|
return nsnull;
|
||||||
nsISupports* element = NS_STATIC_CAST(nsISupports*, data);
|
nsISupports* element = NS_STATIC_CAST(nsISupports*, data);
|
||||||
NS_RELEASE(element);
|
NS_IF_RELEASE(element);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -428,7 +428,7 @@ _hashEnumerateCopy(PLHashEntry *he, PRIntn i, void *arg)
|
|||||||
{
|
{
|
||||||
nsHashtable *newHashtable = (nsHashtable *)arg;
|
nsHashtable *newHashtable = (nsHashtable *)arg;
|
||||||
nsISupports* element = NS_STATIC_CAST(nsISupports*, he->value);
|
nsISupports* element = NS_STATIC_CAST(nsISupports*, he->value);
|
||||||
NS_ADDREF(element);
|
NS_IF_ADDREF(element);
|
||||||
newHashtable->Put((nsHashKey*)he->key, he->value);
|
newHashtable->Put((nsHashKey*)he->key, he->value);
|
||||||
return HT_ENUMERATE_NEXT;
|
return HT_ENUMERATE_NEXT;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user