diff options
Diffstat (limited to 'Lib/java/std_string.i')
-rw-r--r-- | Lib/java/std_string.i | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/java/std_string.i b/Lib/java/std_string.i index 5ad7d30bc..322d0da12 100644 --- a/Lib/java/std_string.i +++ b/Lib/java/std_string.i @@ -49,7 +49,8 @@ class string; jenv->ReleaseStringUTFChars($input, $1_pstr); %} %typemap(directorin,descriptor="Ljava/lang/String;") string -%{ $input = jenv->NewStringUTF($1.c_str()); %} +%{ $input = jenv->NewStringUTF($1.c_str()); + Swig::LocalRefGuard refGuard_$input(jenv, $input); %} %typemap(out) string %{ $result = jenv->NewStringUTF($1.c_str()); %} @@ -98,7 +99,8 @@ class string; jenv->ReleaseStringUTFChars($input, $1_pstr); %} %typemap(directorin,descriptor="Ljava/lang/String;") const string & -%{ $input = jenv->NewStringUTF($1.c_str()); %} +%{ $input = jenv->NewStringUTF($1.c_str()); + Swig::LocalRefGuard refGuard_$input(jenv, $input); %} %typemap(out) const string & %{ $result = jenv->NewStringUTF($1->c_str()); %} |