From: SourceForge.net <no...@so...> - 2012-06-14 22:08:42
|
Bugs item #3535304, was opened at 2012-06-14 15:08 Message generated for change (Tracker Item Submitted) made by qwertie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=3535304&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: java Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: David Piepgrass (qwertie) Assigned to: William Fulton (wsfulton) Summary: Java Directors: Do not use weak references directly Initial Comment: Using Directors on Android will eventually lead to a crash, with no trace output, either during GC or if the user calls delete(). This bug was reported earlier: https://sourceforge.net/mailarchive/message.php?msg_id=29043181 But it is not fixed as of SWIG 2.0.6 and I'm assuming it is not fixed today because the thread on the mailing list died. All you have to do to reproduce is make a director-based object and then call .delete() on it, something like: // SWIG %feature("director") Foo; %inline %{ struct Foo { virtual void f() {} }; %} // Java class Foo2 extends Foo {} public void Repro() { new Foo2().delete(); } The proposed patch works, and peek() should either be removed or have a warning comment placed on it, because using a weak global reference directly is not allowed on Android. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=3535304&group_id=1645 |