зеркало из https://github.com/mozilla/pjs.git
Bug 17024. Fix mClassList leak; add bloaty stats for nsClassList. r=hyatt a=chofmann
This commit is contained in:
Родитель
6cb382251f
Коммит
52ce5fde68
|
@ -454,6 +454,7 @@ nsXULAttributes::~nsXULAttributes()
|
|||
nsXULAttribute* attr = NS_REINTERPRET_CAST(nsXULAttribute*, mAttributes.ElementAt(indx));
|
||||
NS_RELEASE(attr);
|
||||
}
|
||||
delete mClassList;
|
||||
}
|
||||
|
||||
|
||||
|
@ -636,7 +637,13 @@ nsXULAttributes::HasClass(nsIAtom* aClass) const
|
|||
|
||||
nsresult nsXULAttributes::SetClassList(nsClassList* aClassList)
|
||||
{
|
||||
mClassList = aClassList;
|
||||
delete mClassList;
|
||||
if (aClassList) {
|
||||
mClassList = new nsClassList(*aClassList);
|
||||
}
|
||||
else {
|
||||
mClassList = nsnull;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,12 +42,16 @@ class nsIURI;
|
|||
class nsClassList {
|
||||
public:
|
||||
nsClassList(nsIAtom* aAtom)
|
||||
: mAtom(aAtom), mNext(nsnull) {}
|
||||
: mAtom(aAtom), mNext(nsnull)
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsClassList);
|
||||
}
|
||||
|
||||
|
||||
nsClassList(const nsClassList& aCopy)
|
||||
: mAtom(aCopy.mAtom), mNext(nsnull)
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsClassList);
|
||||
if (aCopy.mNext) mNext = new nsClassList(*(aCopy.mNext));
|
||||
}
|
||||
|
||||
|
@ -67,6 +71,7 @@ public:
|
|||
|
||||
~nsClassList(void)
|
||||
{
|
||||
MOZ_COUNT_DTOR(nsClassList);
|
||||
delete mNext;
|
||||
}
|
||||
|
||||
|
|
|
@ -454,6 +454,7 @@ nsXULAttributes::~nsXULAttributes()
|
|||
nsXULAttribute* attr = NS_REINTERPRET_CAST(nsXULAttribute*, mAttributes.ElementAt(indx));
|
||||
NS_RELEASE(attr);
|
||||
}
|
||||
delete mClassList;
|
||||
}
|
||||
|
||||
|
||||
|
@ -636,7 +637,13 @@ nsXULAttributes::HasClass(nsIAtom* aClass) const
|
|||
|
||||
nsresult nsXULAttributes::SetClassList(nsClassList* aClassList)
|
||||
{
|
||||
mClassList = aClassList;
|
||||
delete mClassList;
|
||||
if (aClassList) {
|
||||
mClassList = new nsClassList(*aClassList);
|
||||
}
|
||||
else {
|
||||
mClassList = nsnull;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,12 +42,16 @@ class nsIURI;
|
|||
class nsClassList {
|
||||
public:
|
||||
nsClassList(nsIAtom* aAtom)
|
||||
: mAtom(aAtom), mNext(nsnull) {}
|
||||
: mAtom(aAtom), mNext(nsnull)
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsClassList);
|
||||
}
|
||||
|
||||
|
||||
nsClassList(const nsClassList& aCopy)
|
||||
: mAtom(aCopy.mAtom), mNext(nsnull)
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsClassList);
|
||||
if (aCopy.mNext) mNext = new nsClassList(*(aCopy.mNext));
|
||||
}
|
||||
|
||||
|
@ -67,6 +71,7 @@ public:
|
|||
|
||||
~nsClassList(void)
|
||||
{
|
||||
MOZ_COUNT_DTOR(nsClassList);
|
||||
delete mNext;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче