On 11/3/09 1:56 PM, Georgios Petasis wrote:
Unless its callers are very careful, DOM::GetBody leaks the body.
The caller calls AddRef/Release:
set body [$dom GetBody]
set encoder [$dom GetEncoder text/plain 0]
$body AddRef
$encoder AddRef
$encoder SetNode $body
set content [$encoder EncodeToString]
$encoder SetNode NULL
$body Release
$encoder Release
From GetBody:
81 nsIDOMHTMLElement *ptr = NULL;
82 if (document) document->GetBody(&ptr);
83 return ptr;
The GetBody call calls addref on the body. If the above shows all the
remaining addrefs and releases (that is, if your C++-to-tcl glue doesn't
have an extra release on the return value of GetBody somewhere), then
you just leaked the body.
-Boris
_______________________________________________
dev-embedding mailing list
dev-embedding@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-embedding