wangguojin / libbehavior

Automatically exported from code.google.com/p/libbehavior
0 stars 0 forks source link

BehaviourTreeInternalNode memory leak. #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The way the examples uses BehaviourTreeInternalNode leads to memory leaks. the 
tree doesn't get deleted and it isn't possible to delete internalnode because 
of destructor being protected.
To delete it properly it has to be casted to the initializing pointer instance.
brain = new ParallelNode();

will need
if(ParallelNode temp = dynamic_cast<ParallelNode,brain)){
   delete temp;
}

Original issue reported on code.google.com by mart2...@gmail.com on 25 Jul 2013 at 12:12

GoogleCodeExporter commented 9 years ago
of course the better solution is adding virtual destructor() to 
BehaviourTreeNode. Which should be done to any pure polymorphic classes.

Original comment by mart2...@gmail.com on 25 Jul 2013 at 4:33