fix memory leaks in test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8597 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
bd1b4511dc
commit
2162bd9cbd
2 changed files with 14 additions and 0 deletions
|
|
@ -13,6 +13,9 @@
|
||||||
|
|
||||||
%warnfilter(SWIGWARN_LANG_FRIEND_IGNORE) F; /* friend function */
|
%warnfilter(SWIGWARN_LANG_FRIEND_IGNORE) F; /* friend function */
|
||||||
|
|
||||||
|
%delobject F::destroy;
|
||||||
|
%delobject G::destroy;
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
||||||
/* A class with a public default constructor */
|
/* A class with a public default constructor */
|
||||||
|
|
@ -92,6 +95,8 @@ private:
|
||||||
public:
|
public:
|
||||||
void foo(int, int) { }
|
void foo(int, int) { }
|
||||||
friend void bar(F *);
|
friend void bar(F *);
|
||||||
|
void destroy() { delete this; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void bar(F *) { }
|
void bar(F *) { }
|
||||||
|
|
@ -109,6 +114,9 @@ class FFF : public F {
|
||||||
class G {
|
class G {
|
||||||
protected:
|
protected:
|
||||||
~G() { }
|
~G() { }
|
||||||
|
|
||||||
|
public:
|
||||||
|
void destroy() { delete this; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class GG : public G {
|
class GG : public G {
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,8 @@ try:
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
dc.F_destroy(f)
|
||||||
|
|
||||||
ff = dc.new_FFF()
|
ff = dc.new_FFF()
|
||||||
try:
|
try:
|
||||||
del_ff = dc.delete_FFF
|
del_ff = dc.delete_FFF
|
||||||
|
|
@ -88,6 +90,8 @@ try:
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
dc.F_destroy(ff)
|
||||||
|
|
||||||
g = dc.new_G()
|
g = dc.new_G()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
@ -96,6 +100,8 @@ try:
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
dc.G_destroy(g)
|
||||||
|
|
||||||
gg = dc.new_GG()
|
gg = dc.new_GG()
|
||||||
dc.delete_GG(gg)
|
dc.delete_GG(gg)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue