libbluray | branch: master | hpi1 <[email protected]> | Wed Jan 15 10:40:35 2014 +0200| [fc3ec607e22f66f2cd46a305e820b052676b924c] | committer: hpi1
BDJLoader: do not re-use AppProxy and XletContext when xlet is restarted. Fixes issues with unregistered callbacks, Ixc bindings etc. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=fc3ec607e22f66f2cd46a305e820b052676b924c --- src/libbluray/bdj/java/org/videolan/BDJLoader.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/libbluray/bdj/java/org/videolan/BDJLoader.java b/src/libbluray/bdj/java/org/videolan/BDJLoader.java index cb50ac9..0b71b7a 100644 --- a/src/libbluray/bdj/java/org/videolan/BDJLoader.java +++ b/src/libbluray/bdj/java/org/videolan/BDJLoader.java @@ -126,16 +126,22 @@ public class BDJLoader { for (int i = 0; i < appTable.length; i++) { if (id.equals(appTable[i].getIdentifier()) && entry.getInitialClass().equals(appTable[i].getInitialClass())) { - if (restart && appTable[i].getIsServiceBound()) + if (restart && appTable[i].getIsServiceBound()) { + logger.info("Stopping xlet " + appTable[i].getInitialClass() + " (for restart)"); proxy.stop(true); - proxy.getXletContext().update(appTable[i], bdjo.getAppCaches()); - proxys[i] = proxy; - proxy = null; + } else { + logger.info("Keeping xlet " + appTable[i].getInitialClass()); + proxy.getXletContext().update(appTable[i], bdjo.getAppCaches()); + proxys[i] = proxy; + proxy = null; + } break; } } - if (proxy != null) + if (proxy != null) { + logger.info("Terminating xlet " + entry.getInitialClass()); proxy.release(); + } } // start bdj window _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
