Bug 316569, Memory leak in XTF when using nsXTFInterfaceAggregator, r+sr=bryner
git-svn-id: svn://10.0.0.236/trunk@184851 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
85b5272a28
commit
229d30c5ca
@ -208,14 +208,16 @@ nsXTFBindableElementWrapper::QueryInterface(REFNSIID aIID, void** aInstancePtr)
|
||||
}
|
||||
|
||||
// try to get get the interface from our wrapped element:
|
||||
void *innerPtr = nsnull;
|
||||
QueryInterfaceInner(aIID, &innerPtr);
|
||||
nsCOMPtr<nsISupports> inner;
|
||||
QueryInterfaceInner(aIID, getter_AddRefs(inner));
|
||||
|
||||
if (innerPtr)
|
||||
return NS_NewXTFInterfaceAggregator(aIID,
|
||||
NS_STATIC_CAST(nsISupports*, innerPtr),
|
||||
NS_STATIC_CAST(nsIContent*, this),
|
||||
aInstancePtr);
|
||||
if (inner) {
|
||||
rv = NS_NewXTFInterfaceAggregator(aIID, inner,
|
||||
NS_STATIC_CAST(nsIContent*, this),
|
||||
aInstancePtr);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
}
|
||||
|
||||
@ -102,14 +102,16 @@ nsXTFElementWrapper::QueryInterface(REFNSIID aIID, void** aInstancePtr)
|
||||
}
|
||||
else {
|
||||
// try to get get the interface from our wrapped element:
|
||||
void *innerPtr = nsnull;
|
||||
QueryInterfaceInner(aIID, &innerPtr);
|
||||
nsCOMPtr<nsISupports> inner;
|
||||
QueryInterfaceInner(aIID, getter_AddRefs(inner));
|
||||
|
||||
if (innerPtr)
|
||||
return NS_NewXTFInterfaceAggregator(aIID,
|
||||
NS_STATIC_CAST(nsISupports*, innerPtr),
|
||||
NS_STATIC_CAST(nsIContent*, this),
|
||||
aInstancePtr);
|
||||
if (inner) {
|
||||
rv = NS_NewXTFInterfaceAggregator(aIID, inner,
|
||||
NS_STATIC_CAST(nsIContent*, this),
|
||||
aInstancePtr);
|
||||
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
|
||||
return NS_ERROR_NO_INTERFACE;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user