summaryrefslogtreecommitdiff
path: root/Lib/java/boost_shared_ptr.i
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2009-03-31 12:23:47 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2009-03-31 12:23:47 +0000
commitbe73d28ad76a7e703334e71c860a49cc1b1382f6 (patch)
treea2494310114936f261e149db5906172d9655d08b /Lib/java/boost_shared_ptr.i
parent084a168a0ff306b32a3277ba4418f1a29c7215e8 (diff)
downloadswig-be73d28ad76a7e703334e71c860a49cc1b1382f6.tar.gz
don't unnecessarily set swigCPtr to zero again if Dispose/delete called multiple times
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11179 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Lib/java/boost_shared_ptr.i')
-rw-r--r--Lib/java/boost_shared_ptr.i22
1 files changed, 13 insertions, 9 deletions
diff --git a/Lib/java/boost_shared_ptr.i b/Lib/java/boost_shared_ptr.i
index 1f555bf85..75762f84f 100644
--- a/Lib/java/boost_shared_ptr.i
+++ b/Lib/java/boost_shared_ptr.i
@@ -33,7 +33,7 @@
// plain reference
%typemap(in) CONST TYPE & %{
$1 = ($1_ltype)((*(SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > **)&$input) ? (*(SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > **)&$input)->get() : 0);
- if(!$1) {
+ if (!$1) {
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "$1_type reference is null");
return $null;
} %}
@@ -166,19 +166,23 @@
%}
%typemap(javadestruct, methodname="delete", methodmodifiers="public synchronized") TYPE {
- if(swigCPtr != 0 && swigCMemOwnBase) {
- swigCMemOwnBase = false;
- $jnicall;
+ if (swigCPtr != 0) {
+ if (swigCMemOwnBase) {
+ swigCMemOwnBase = false;
+ $jnicall;
+ }
+ swigCPtr = 0;
}
- swigCPtr = 0;
}
%typemap(javadestruct_derived, methodname="delete", methodmodifiers="public synchronized") TYPE {
- if(swigCPtr != 0 && swigCMemOwnDerived) {
- swigCMemOwnDerived = false;
- $jnicall;
+ if (swigCPtr != 0) {
+ if (swigCMemOwnDerived) {
+ swigCMemOwnDerived = false;
+ $jnicall;
+ }
+ swigCPtr = 0;
}
- swigCPtr = 0;
super.delete();
}