Fix potential name clashes with symbols in the Director class

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12063 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2010-05-27 20:59:29 +00:00
commit 5bcfc81c12

View file

@ -1132,24 +1132,24 @@ namespace Swig {
namespace Swig { namespace Swig {
class Director { class Director {
octave_swig_type *self; octave_swig_type *self;
bool disowned; bool swig_disowned;
Director(const Director &x); Director(const Director &x);
Director &operator=(const Director &rhs); Director &operator=(const Director &rhs);
public: public:
Director(void *vptr):self(0), disowned(false) { Director(void *vptr):self(0), swig_disowned(false) {
set_rtdir(vptr, this); set_rtdir(vptr, this);
} }
~Director() { ~Director() {
swig_director_destroyed(self, this); swig_director_destroyed(self, this);
if (disowned) if (swig_disowned)
self->decref(); self->decref();
} }
void swig_set_self(octave_swig_type *new_self) { void swig_set_self(octave_swig_type *new_self) {
assert(!disowned); assert(!swig_disowned);
self = new_self; self = new_self;
} }
@ -1158,9 +1158,9 @@ namespace Swig {
} }
void swig_disown() { void swig_disown() {
if (disowned) if (swig_disowned)
return; return;
disowned = true; swig_disowned = true;
self->incref(); self->incref();
} }
}; };