You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 11, 2023. It is now read-only.
What steps will reproduce the problem?
1. Load an xml (will most likely work just creating a document)
2. Get an element from the XML
3. Call GetDocument() on the element
What is the expected output? What do you see instead?
Should get a pointer to the document which you then delete, which will
decrement the ref count
What version of the product are you using? On what operating system?
svn trunk, windows 7
Please provide any additional information below.
When you call GetDocument on an Element, it eventually (Node::GetDocument())
calls this code:
Document* temp = new Document( doc );
doc->m_spawnedWrappers.push_back( temp );
return temp;
The pointer that gets returned from this function is impossible to destroy
cleanly (as far as I'm aware).
Either, you delete the pointer returned from GetDocument(), in which case, you
get a double-free error when TiCppRC::DeleteSpawnedWrappers() is called when
the last reference to the document is destroyed. Or you do not delete it, which
leaves the document with a reference count of 1 and lots of nice memory leaks
due to the document not being destroyed.
Original issue reported on code.google.com by [email protected] on 20 Nov 2010 at 4:53