Fix compilation problem for const methods and memory leak for plain member variables
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9976 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
142b57a241
commit
035cdf6f1a
1 changed files with 13 additions and 2 deletions
|
|
@ -25,7 +25,7 @@
|
||||||
// plain pointer
|
// plain pointer
|
||||||
%typemap(in, canthrow=1) CONST TYPE * (SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *smartarg = 0) %{
|
%typemap(in, canthrow=1) CONST TYPE * (SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *smartarg = 0) %{
|
||||||
smartarg = (SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *)$input;
|
smartarg = (SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > *)$input;
|
||||||
$1 = smartarg ? smartarg->get() : 0; %}
|
$1 = (TYPE *)(smartarg ? smartarg->get() : 0); %}
|
||||||
%typemap(out, fragment="SWIG_null_deleter") CONST TYPE * %{
|
%typemap(out, fragment="SWIG_null_deleter") CONST TYPE * %{
|
||||||
$result = $1 ? new SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >($1 SWIG_NO_NULL_DELETER_$owner) : 0;
|
$result = $1 ? new SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE >($1 SWIG_NO_NULL_DELETER_$owner) : 0;
|
||||||
%}
|
%}
|
||||||
|
|
@ -141,13 +141,24 @@
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%typemap(csvarout, excode=SWIGEXCODE2) CONST TYPE & %{
|
||||||
|
get {
|
||||||
|
$csclassname ret = new $csclassname($imcall, true);$excode
|
||||||
|
return ret;
|
||||||
|
} %}
|
||||||
|
%typemap(csvarout, excode=SWIGEXCODE2) CONST TYPE * %{
|
||||||
|
get {
|
||||||
|
IntPtr cPtr = $imcall;
|
||||||
|
$csclassname ret = (cPtr == IntPtr.Zero) ? null : new $csclassname(cPtr, true);$excode
|
||||||
|
return ret;
|
||||||
|
} %}
|
||||||
|
|
||||||
%typemap(csvarout, excode=SWIGEXCODE2) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > & %{
|
%typemap(csvarout, excode=SWIGEXCODE2) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > & %{
|
||||||
get {
|
get {
|
||||||
IntPtr cPtr = $imcall;
|
IntPtr cPtr = $imcall;
|
||||||
PROXYCLASS ret = (cPtr == IntPtr.Zero) ? null : new PROXYCLASS(cPtr, true);$excode
|
PROXYCLASS ret = (cPtr == IntPtr.Zero) ? null : new PROXYCLASS(cPtr, true);$excode
|
||||||
return ret;
|
return ret;
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
%typemap(csvarout, excode=SWIGEXCODE2) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > * %{
|
%typemap(csvarout, excode=SWIGEXCODE2) SWIG_SHARED_PTR_QNAMESPACE::shared_ptr< CONST TYPE > * %{
|
||||||
get {
|
get {
|
||||||
IntPtr cPtr = $imcall;
|
IntPtr cPtr = $imcall;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue