From a4d01cddebf8568116bad93a2ffb783cd925c783 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Thu, 25 May 2017 20:35:18 +0100 Subject: [PATCH] Missing smart pointer handling in Java director extra methods - Add CHANGES file entry - Add testcase --- CHANGES.current | 4 ++++ Examples/test-suite/java/director_smartptr_runme.java | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/CHANGES.current b/CHANGES.current index cd91b3607..78eb605a4 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -7,6 +7,10 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/ Version 4.0.0 (in progress) =========================== +2017-05-25: asibross + [Java] #370 #417 Missing smart pointer handling in Java director extra methods + swigReleaseOwnership() and swigTakeOwnership(). + 2017-05-23: wsfulton [Java] #230 #759 Fix Java shared_ptr and directors for derived classes java compilation error. diff --git a/Examples/test-suite/java/director_smartptr_runme.java b/Examples/test-suite/java/director_smartptr_runme.java index ba2bfc8c4..53d68f995 100644 --- a/Examples/test-suite/java/director_smartptr_runme.java +++ b/Examples/test-suite/java/director_smartptr_runme.java @@ -39,6 +39,13 @@ public class director_smartptr_runme { check(director_smartptr.FooDerived.callPong(myBarFooDerived), "director_smartptr_MyBarFooDerived.pong();director_smartptr_MyBarFooDerived.ping()"); check(director_smartptr.FooDerived.callUpcall(myBarFooDerived, fooBar), "overrideDerived;Bar::Foo2::Foo2Bar()"); + director_smartptr.Foo myFoo3 = myBarFoo.makeFoo(); + myFoo3.swigReleaseOwnership(); + myFoo3.swigTakeOwnership(); + director_smartptr.FooDerived myBarFooDerived2 = new director_smartptr_MyBarFooDerived(); + myBarFooDerived2.swigReleaseOwnership(); + myBarFooDerived2.swigTakeOwnership(); + } }