libbluray | branch: master | hpi1 <[email protected]> | Mon Mar 9 13:46:44 2015 +0200| [c00545f9608bf8ffad54b213b5201083d7b81aac] | committer: hpi1
BDJ: make "user.dir" point to current Xlet home directory > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=c00545f9608bf8ffad54b213b5201083d7b81aac --- src/libbluray/bdj/java/org/videolan/Libbluray.java | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/libbluray/bdj/java/org/videolan/Libbluray.java b/src/libbluray/bdj/java/org/videolan/Libbluray.java index 7222b05..3add87b 100644 --- a/src/libbluray/bdj/java/org/videolan/Libbluray.java +++ b/src/libbluray/bdj/java/org/videolan/Libbluray.java @@ -48,6 +48,30 @@ import org.videolan.media.content.PlayerManager; */ public class Libbluray { + /* hook system properties: make "user.dir" point to current Xlet home directory */ + + private static boolean propertiesHooked = false; + + private static void hookProperties() { + if (propertiesHooked) { + return; + } + propertiesHooked = true; + + java.util.Properties p = new java.util.Properties(System.getProperties()) { + public String getProperty(String key) { + if (key.equals("user.dir")) { + BDJXletContext ctx = BDJXletContext.getCurrentContext(); + if (ctx != null) { + return ctx.getXletHome(); + } + } + return super.getProperty(key); + } + }; + System.setProperties(p); + } + private static String canonicalize(String path, boolean create) { try { File dir = new File(path); @@ -65,6 +89,8 @@ public class Libbluray { private static void init(long nativePointer, String discID, String discRoot, String persistentRoot, String budaRoot) { + hookProperties(); + /* set up directories */ persistentRoot = canonicalize(persistentRoot, true); budaRoot = canonicalize(budaRoot, true); _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
