Ticket #4842: void_cast.cpp.patch

File void_cast.cpp.patch, 1.0 KB (added by Aaron Barany <akb825@…>, 12 years ago)

Patch to fix the issue.

Line 
1*** libs/serialization/src/void_cast.cpp Wed Jan 19 10:31:02 2011
2--- libs/serialization/src/void_cast.cpp Thu Mar 10 18:50:28 2011
3***************
4*** 290,296 ****
5 void_cast_detail::set_type::iterator it;
6 for(it = s.begin(); it != s.end();){
7 const void_caster * vc = *it;
8! if(vc->m_parent == this){
9 s.erase(it);
10 delete vc;
11 it = s.begin();
12--- 290,299 ----
13 void_cast_detail::set_type::iterator it;
14 for(it = s.begin(); it != s.end();){
15 const void_caster * vc = *it;
16! if(vc == this){
17! s.erase(it++);
18! }
19! else if(vc->m_parent == this){
20 s.erase(it);
21 delete vc;
22 it = s.begin();
23***************
24*** 298,308 ****
25 else
26 it++;
27 }
28-
29- // delete this guy if he's in there
30- it = s.find(this);
31- if(it != s.end())
32- s.erase(it);
33 }
34
35 } // namespace void_cast_detail
36--- 301,306 ----