Hello community,

here is the log from the commit of package libbluray for openSUSE:Factory 
checked in at 2019-08-15 12:23:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libbluray (Old)
 and      /work/SRC/openSUSE:Factory/.libbluray.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libbluray"

Thu Aug 15 12:23:28 2019 rev:39 rq:720877 version:1.1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libbluray/libbluray.changes      2019-04-10 
23:10:51.343950714 +0200
+++ /work/SRC/openSUSE:Factory/.libbluray.new.9556/libbluray.changes    
2019-08-15 12:23:34.970633396 +0200
@@ -1,0 +2,16 @@
+Sat Aug 03 16:58:13 UTC 2019 - [email protected]
+
+- Update to version 1.1.2:
+  + Add libxml version to pkg-config Requires.private.
+  + Improve support for NetBSD operating system.
+  + Improve BD-J compability.
+  + Improve Java 8+ compability.
+  + Fix main playlist caching in Windows.
+  + Fix mark triggering when multiple marks are passed during
+    single read().
+  + Fix seek bar pop-up at chapter boundary with some discs.
+  + Fix reading resources indirectly from mounted .jar file.
+- Fixed libbluray-java9.patch.
+- Enable build against java-devel >= 10.
+
+-------------------------------------------------------------------

Old:
----
  libbluray-1.1.1.tar.bz2

New:
----
  libbluray-1.1.2.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libbluray.spec ++++++
--- /var/tmp/diff_new_pack.Fu85nn/_old  2019-08-15 12:23:36.782632944 +0200
+++ /var/tmp/diff_new_pack.Fu85nn/_new  2019-08-15 12:23:36.782632944 +0200
@@ -19,7 +19,7 @@
 
 %define         sover 2
 Name:           libbluray
-Version:        1.1.1
+Version:        1.1.2
 Release:        0
 Summary:        Library to access Blu-Ray disk
 License:        LGPL-2.1+
@@ -37,7 +37,6 @@
 BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  pkgconfig(freetype2)
 BuildRequires:  pkgconfig(libxml-2.0) >= 2.6
-BuildConflicts: java-devel >= 10
 
 %description
 This library is written for the purpose of playing Blu-ray movies. It is

++++++ libbluray-1.1.1.tar.bz2 -> libbluray-1.1.2.tar.bz2 ++++++
++++ 1683 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/ChangeLog new/libbluray-1.1.2/ChangeLog
--- old/libbluray-1.1.1/ChangeLog       2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/ChangeLog       2019-06-07 20:00:28.000000000 +0200
@@ -1,3 +1,13 @@
+2019-06-07: Version 1.1.2
+- Add libxml version to pkg-config Requires.private.
+- Improve support for NetBSD operating system.
+- Improve BD-J compability.
+- Improve Java 8+ compability.
+- Fix main playlist caching in Windows.
+- Fix mark triggering when multiple marks are passed during single read().
+- Fix seek bar pop-up at chapter boundary with some discs.
+- Fix reading resources indirectly from mounted .jar file.
+
 2019-04-05: Version 1.1.1
 - Enable playback without menus when index.bdmv is missing.
 - Improve error resilience and stability.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/Makefile.am new/libbluray-1.1.2/Makefile.am
--- old/libbluray-1.1.1/Makefile.am     2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/Makefile.am     2019-06-07 20:00:28.000000000 +0200
@@ -211,7 +211,8 @@
        jni/jni.h \
        jni/linux/jni_md.h \
        jni/win32/jni_md.h \
-       jni/darwin/jni_md.h
+       jni/darwin/jni_md.h \
+       jni/netbsd/jni_md.h
 
 pkginclude_HEADERS = \
        src/file/filesystem.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/configure.ac new/libbluray-1.1.2/configure.ac
--- old/libbluray-1.1.1/configure.ac    2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/configure.ac    2019-06-07 20:00:28.000000000 +0200
@@ -1,7 +1,7 @@
 dnl library version number
 m4_define([bluray_major], 1)
 m4_define([bluray_minor], 1)
-m4_define([bluray_micro], 1)
+m4_define([bluray_micro], 2)
 m4_define([bluray_version],[bluray_major.bluray_minor.bluray_micro])
 
 dnl shared library version (.so version)
@@ -13,7 +13,7 @@
 dnl Library file name will be libbluray.so.(current-age).age.revision
 dnl
 m4_define([lt_current],  3)
-m4_define([lt_revision], 1)
+m4_define([lt_revision], 2)
 m4_define([lt_age],      1)
 
 dnl initilization
@@ -157,7 +157,7 @@
   PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6],
     [with_libxml2=yes; AC_DEFINE([HAVE_LIBXML2], [1],
         [Define to 1 if libxml2 is to be used for metadata parsing])])
-  PACKAGES="$PACKAGES libxml-2.0"
+  PACKAGES="$PACKAGES libxml-2.0 >= 2.6"
 ])
 
 dnl FreeType2
@@ -216,6 +216,7 @@
      freebsd*) java_os=freebsd ;;
      solaris*) java_os=solaris ;;
      darwin*)  java_os=darwin ;;
+     netbsd*)  java_os=netbsd ;;
      *)        java_os=$host_os ;;
 esac
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/jni/netbsd/jni_md.h new/libbluray-1.1.2/jni/netbsd/jni_md.h
--- old/libbluray-1.1.1/jni/netbsd/jni_md.h     1970-01-01 01:00:00.000000000 
+0100
+++ new/libbluray-1.1.2/jni/netbsd/jni_md.h     2019-06-07 20:00:28.000000000 
+0200
@@ -0,0 +1,54 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Java Runtime Interface.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation and Sun Microsystems, Inc.
+ * Portions created by the Initial Developer are Copyright (C) 1993-1996
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *                  Jean-Baptiste Kempf
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the MPL, the GPL or the LGPL.
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef _JNI_MD_H_
+#define _JNI_MD_H_
+
+#define JNIEXPORT
+#define JNIIMPORT
+#define JNICALL
+
+typedef int jint;
+#ifdef __LP64__
+typedef long jlong;
+#else
+typedef long long jlong;
+#endif
+
+typedef signed char jbyte;
+
+#endif /* !_JNI_MD_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/m4/libtool.m4 new/libbluray-1.1.2/m4/libtool.m4
--- old/libbluray-1.1.1/m4/libtool.m4   2019-04-05 10:34:56.000000000 +0200
+++ new/libbluray-1.1.2/m4/libtool.m4   2019-06-07 20:01:00.000000000 +0200
@@ -4063,7 +4063,8 @@
   if AC_TRY_EVAL(ac_compile); then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" 
\> $nlist) && test -s "$nlist"; then
+    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | 
$lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> 
$nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -4703,6 +4704,12 @@
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
+      # flang / f18. f95 an alias for gfortran or flang on Debian
+      flang* | f18* | f95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/java/io/BDFileSystem.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/java/io/BDFileSystem.java
--- old/libbluray-1.1.1/src/libbluray/bdj/java/java/io/BDFileSystem.java        
2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/bdj/java/java/io/BDFileSystem.java        
2019-06-07 20:00:28.000000000 +0200
@@ -19,6 +19,7 @@
 /*
  * Wrapper for java.io.FileSystem class.
  *
+ * - resolve relative files to Xlet home directory.
  * - replace getBooleanAttributes() for relative paths.
  *   Pretend files exist, if those are in xlet home directory (inside .jar).
  *   No other relative paths are allowed.
@@ -40,30 +41,50 @@
 
 public abstract class BDFileSystem extends FileSystem {
 
-    private static final Logger logger = 
Logger.getLogger(BDFileSystem.class.getName());
-
-    protected final FileSystem fs;
+    /*
+     * Access to native filesystem
+     *
+     * (for org.videolan.VFSCache, org.videolan.CacheDir)
+     */
 
     private static FileSystem nativeFileSystem;
 
     static {
-        /* Java 8: getFileSystem() no longer exists on java.io.FileSystem */
         try {
-            nativeFileSystem = 
(FileSystem)Class.forName("java.io.DefaultFileSystem")
-                .getDeclaredMethod("getFileSystem", new Class[0])
+            /* Java < 8 */
+            nativeFileSystem = (FileSystem)FileSystem.class
+                .getDeclaredMethod("getFileSystem",new Class[0])
                 .invoke(null, new Object[0]);
         } catch (Exception e) {
             try {
-                nativeFileSystem = (FileSystem)FileSystem.class
-                    .getDeclaredMethod("getFileSystem",new Class[0])
-                    .invoke(null, new Object[0]);
-            } catch (Exception t) {
-                System.err.print("Couldn't find native filesystem: " + t);
+                /* Just use our wrapper.  If it fails, JVM won't be booted 
anyway ... */
+                nativeFileSystem = DefaultFileSystem.getNativeFileSystem();
+            } catch (Throwable t) {
+                System.err.print("Couldn't find native filesystem: " + e);
             }
         }
     }
 
+    /* org.videolan.CacheDir uses this function to clean up cache directory */
+    public static String[] nativeList(File f) {
+        return nativeFileSystem.list(f);
+    }
+
+    /* org.videolan.VFSCache uses this function to check if file has been 
cached */
+    public static boolean nativeFileExists(String path) {
+        return nativeFileSystem.getBooleanAttributes(new File(path)) != 0;
+    }
+
+    /*
+     * Replace File.fs for Xlets (required with Java < 8 where this is not 
done unconditionally)
+     *
+     * (called by org.videolan.BDJClassLoader)
+     */
+
     public static void init(final Class c) {
+
+        setBooted();
+
         AccessController.doPrivileged(
             new PrivilegedAction() {
                 public Object run() {
@@ -79,33 +100,49 @@
             filesystem = c.getDeclaredField("fs");
             filesystem.setAccessible(true);
 
-            /* Java 8: remove "final" modifier from the field */
-            Field modifiersField = Field.class.getDeclaredField("modifiers");
-            modifiersField.setAccessible(true);
-            modifiersField.setInt(filesystem, filesystem.getModifiers() & 
~Modifier.FINAL);
-
             FileSystem fs = (FileSystem)filesystem.get(null);
             if (fs instanceof BDFileSystemImpl) {
                 //System.err.print("FileSystem already wrapped");
             } else {
+                /* Java 8: we should never end up here ... */
+                /* Java 8: remove "final" modifier from the field */
+                //Field modifiersField = 
Field.class.getDeclaredField("modifiers");
+                //modifiersField.setAccessible(true);
+                //modifiersField.setInt(filesystem, filesystem.getModifiers() 
& ~Modifier.FINAL);
                 filesystem.set(null, new BDFileSystemImpl(fs));
             }
         } catch (Exception t) {
-            System.err.print("Hooking FileSystem class failed: " + t);
+            error("Hooking FileSystem class failed: " + t);
         }
     }
 
-    public static String[] nativeList(File f) {
-        return nativeFileSystem.list(f);
+    /*
+     * enable after JVM boot is completed
+     */
+
+    private static Logger logger = null;
+    private static boolean booted = false;
+
+    /* Called by org.videolan.Libbluray.initOnce() */
+    public static void setBooted() {
+        if (!booted) {
+            booted = true;
+            logger = Logger.getLogger(BDFileSystem.class.getName());
+        }
     }
 
-    public static boolean nativeFileExists(String path) {
-        return nativeFileSystem.getBooleanAttributes(new File(path)) != 0;
+    private static void error(String msg) {
+        if (logger != null) {
+            logger.error(msg);
+        }
     }
 
     /*
+     *
      */
 
+    protected final FileSystem fs;
+
     public BDFileSystem(FileSystem fs) {
         this.fs = fs;
     }
@@ -139,6 +176,9 @@
     }
 
     public String resolve(String parent, String child) {
+        if (!booted)
+            return fs.resolve(parent, child);
+
         if (parent == null || parent.equals("") || parent.equals(".")) {
             parent = getHomeDir();
         }
@@ -168,6 +208,9 @@
     }
 
     public String resolve(File f) {
+        if (!booted)
+            return fs.resolve(f);
+
         if (!f.isAbsolute()) {
             logger.info("resolve relative file " + f.getPath());
             return resolve(BDJXletContext.getCurrentXletHome(), f.getPath());
@@ -182,6 +225,9 @@
     }
 
     public String canonicalize(String path) throws IOException {
+        if (!booted)
+            return fs.canonicalize(path);
+
         String canonPath = fs.canonicalize(path);
         String cachePath = BDJLoader.getCachedFile(canonPath);
         if (cachePath != canonPath) {
@@ -191,6 +237,9 @@
     }
 
     public int getBooleanAttributes(File f) {
+        if (!booted)
+            return fs.getBooleanAttributes(f);
+
         if (f.isAbsolute()) {
             return fs.getBooleanAttributes(f);
         }
@@ -217,6 +266,9 @@
     }
 
     public long getLength(File f) {
+        if (!booted)
+            return fs.getLength(f);
+
         if (f.isAbsolute()) {
             return fs.getLength(f);
         }
@@ -263,7 +315,7 @@
                 args = new Object[] {(Object)path, (Object)new 
Boolean(restrictive)};
             }
         } catch (NoSuchMethodException e) {
-            logger.error("no matching FileSystem.createFileExclusively found 
!");
+            error("no matching FileSystem.createFileExclusively found !");
             throw new IOException();
         }
 
@@ -272,14 +324,14 @@
             Boolean result = (Boolean)m.invoke(fs, args);
             return result.booleanValue();
         } catch (IllegalAccessException e) {
-            logger.error("" + e);
+            error("" + e);
             throw new IOException();
         } catch (InvocationTargetException e) {
             Throwable t = e.getTargetException();
             if (t instanceof IOException) {
                 throw (IOException)t;
             }
-            logger.error("" + t);
+            error("" + t);
             throw new IOException();
         }
     }
@@ -299,6 +351,8 @@
     }
 
     public String[] list(File f) {
+        if (!booted)
+            return fs.list(f);
 
         String path = f.getPath();
         String root = System.getProperty("bluray.vfs.root");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/java/io/DefaultFileSystem.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/java/io/DefaultFileSystem.java
--- old/libbluray-1.1.1/src/libbluray/bdj/java/java/io/DefaultFileSystem.java   
1970-01-01 01:00:00.000000000 +0100
+++ new/libbluray-1.1.2/src/libbluray/bdj/java/java/io/DefaultFileSystem.java   
2019-06-07 20:00:28.000000000 +0200
@@ -0,0 +1,51 @@
+/*
+ * This file is part of libbluray
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+package java.io;
+
+class DefaultFileSystem {
+
+    static FileSystem getNativeFileSystem() {
+        Exception e1, e2, e3;
+        try {
+            return 
(FileSystem)Class.forName(System.getProperty("org.videolan.bdj_filesystem")).newInstance();
+        } catch (Exception e) {
+            e3 = e;
+        }
+        try {
+            return 
(FileSystem)Class.forName("java.io.UnixFileSystem").newInstance();
+        } catch (Exception e) {
+            e1 = e;
+        }
+        try {
+            return 
(FileSystem)Class.forName("java.io.WinNTFileSystem").newInstance();
+        } catch (Exception e) {
+            e2 = e;
+        }
+
+        /* No way to recover from here */
+        System.err.println("Unsupported native filesystem !\n\t" + e1 + "\n\t" 
+ e2 + "\n\t" + e3);
+        //Runtime.getRuntime().halt(-1);
+        throw new Error("No filesystem implementation found");
+    }
+
+    public static FileSystem getFileSystem() {
+        FileSystem nativeFs = getNativeFileSystem();
+        return new BDFileSystemImpl(nativeFs);
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/javax/tv/util/TVTimerSpec.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/javax/tv/util/TVTimerSpec.java
--- old/libbluray-1.1.1/src/libbluray/bdj/java/javax/tv/util/TVTimerSpec.java   
2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/bdj/java/javax/tv/util/TVTimerSpec.java   
2019-06-07 20:00:28.000000000 +0200
@@ -20,11 +20,12 @@
 package javax.tv.util;
 
 import java.util.Enumeration;
+import java.io.Serializable;
 import java.util.Vector;
 
 import org.videolan.Logger;
 
-public class TVTimerSpec
+public class TVTimerSpec implements Serializable
 {
     private boolean absolute;
     private boolean regular;
@@ -101,4 +102,6 @@
             throw new IllegalArgumentException();
         this.time = time;
     }
+
+    private static final long serialVersionUID = -4714470266350436478L;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/bluray/ti/selection/TitleContextImpl.java
 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/bluray/ti/selection/TitleContextImpl.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/bluray/ti/selection/TitleContextImpl.java
    2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/bluray/ti/selection/TitleContextImpl.java
    2019-06-07 20:00:28.000000000 +0200
@@ -51,6 +51,8 @@
     }
 
     public ServiceContentHandler[] getServiceContentHandlers() throws 
SecurityException {
+        logger.info("getServiceContentHandlers");
+
         SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             sm.checkPermission(new 
ServiceContextPermission("getServiceContentHandlers", "own"));
@@ -129,6 +131,8 @@
     }
 
     public void destroy() throws SecurityException {
+        logger.info("destroy()");
+
         SecurityManager sm = System.getSecurityManager();
         if (sm != null) {
             sm.checkPermission(new ServiceContextPermission("stop", "own"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/havi/ui/HBackgroundImage.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/havi/ui/HBackgroundImage.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/havi/ui/HBackgroundImage.java    
    2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/havi/ui/HBackgroundImage.java    
    2019-06-07 20:00:28.000000000 +0200
@@ -22,21 +22,15 @@
 import java.awt.Image;
 import java.awt.Toolkit;
 import java.awt.image.ImageObserver;
-import java.awt.image.ImageProducer;
 import java.net.URL;
 import java.util.ArrayList;
 
 import org.havi.ui.event.HBackgroundImageEvent;
 import org.havi.ui.event.HBackgroundImageListener;
 
-import sun.awt.image.ByteArrayImageSource;
-import sun.awt.image.FileImageSource;
-import sun.awt.image.URLImageSource;
-
 public class HBackgroundImage implements ImageObserver {
     public HBackgroundImage(String filename) {
-        producer = new FileImageSource(filename);
-        img = Toolkit.getDefaultToolkit().createImage(producer);
+        img = Toolkit.getDefaultToolkit().createImage(filename);
     }
 
     public HBackgroundImage(byte pixels[]) {
@@ -44,13 +38,11 @@
             System.err.println("null pixels from " + 
org.videolan.Logger.dumpStack());
             return;
         }
-        producer = new ByteArrayImageSource(pixels);
-        img = Toolkit.getDefaultToolkit().createImage(producer);
+        img = Toolkit.getDefaultToolkit().createImage(pixels, 0, 
pixels.length);
     }
 
     public HBackgroundImage(URL contents) {
-        producer = new URLImageSource(contents);
-        img = Toolkit.getDefaultToolkit().createImage(producer);
+        img = Toolkit.getDefaultToolkit().createImage(contents);
     }
 
    public void load(HBackgroundImageListener listener) {
@@ -111,7 +103,6 @@
         }
     }
 
-    private ImageProducer producer;
     private Image img;
     private ArrayList listeners = new ArrayList();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/BDJClassLoader.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/BDJClassLoader.java
--- old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/BDJClassLoader.java 
2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/BDJClassLoader.java 
2019-06-07 20:00:28.000000000 +0200
@@ -280,8 +280,11 @@
     }
 
     public URL getResource(String name) {
+        URL url;
         name = name.replace('\\', '/');
-        return super.getResource(name);
+        url = super.getResource(name);
+        logger.info("getResource(" + name + ") --> " + url);
+        return url;
     }
 
     /* final in J2ME
@@ -292,8 +295,11 @@
     */
 
     public URL findResource(String name) {
+        URL url;
         name = name.replace('\\', '/');
-        return super.findResource(name);
+        url = super.findResource(name);
+        logger.info("findResource(" + name + ") --> " + url);
+        return url;
     }
 
     public Enumeration findResources(String name) throws IOException {
@@ -302,8 +308,13 @@
     }
 
     public InputStream getResourceAsStream(String name) {
+        InputStream is;
         name = name.replace('\\', '/');
-        return super.getResourceAsStream(name);
+        is = super.getResourceAsStream(name);
+        if (is == null) {
+            logger.info("getResourceAsStream(" + name + ") failed");
+        }
+        return is;
     }
 
     private String xletClass;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java 
    2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java 
    2019-06-07 20:00:28.000000000 +0200
@@ -121,7 +121,9 @@
             if (perm.getActions().equals("read")) {
                 String prop = perm.getName();
                 if (prop.startsWith("bluray.") || prop.startsWith("dvb.") || 
prop.startsWith("mhp.") || prop.startsWith("aacs.")) {
-                    //logger.info(perm + " granted");
+                    return;
+                }
+                if (prop.equals("dolbyvision.graphicspriority.available")) {
                     return;
                 }
                 if (prop.startsWith("user.dir")) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/Libbluray.java 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/Libbluray.java
--- old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/Libbluray.java      
2019-04-05 10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/Libbluray.java      
2019-06-07 20:00:28.000000000 +0200
@@ -138,6 +138,9 @@
         } catch (Throwable t) {
             System.err.println("Hooking socket factory failed: " + t + "\n" + 
Logger.dumpStack(t));
         }
+
+        /* enable filesystem hooks */
+        java.io.BDFileSystem.setBooted();
     }
 
     private static String canonicalize(String path, boolean create) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/media/content/playlist/Handler.java
 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/media/content/playlist/Handler.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/media/content/playlist/Handler.java
 2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/media/content/playlist/Handler.java
 2019-06-07 20:00:28.000000000 +0200
@@ -253,15 +253,40 @@
         }
     }
 
-    protected void doChapterReached(int param) {
-        ((PlaybackControlImpl)controls[9]).onChapterReach(param);
+    BDLocator lastMarkLocator = null;
+    protected void doChapterReached(int chapter) {
+        if (chapter <= 0)
+            return;
+        chapter--;
+        synchronized (this) {
+            if (pi == null)
+                return;
+            org.videolan.TIMark[] marks = pi.getMarks();
+            if (marks == null)
+                return;
+            for (int i = 0, j = 0; i < marks.length; i++) {
+                if (marks[i].getType() == org.videolan.TIMark.MARK_TYPE_ENTRY) 
{
+                    if (j == chapter) {
+                        if (currentLocator == null || lastMarkLocator != 
currentLocator || i != currentLocator.getMarkId()) {
+                            ((PlaybackControlImpl)controls[9]).onMarkReach(i);
+                        }
+                        return;
+                    }
+                    j++;
+                }
+            }
+        }
     }
 
     protected void doMarkReached(int param) {
+        synchronized (this) {
         ((PlaybackControlImpl)controls[9]).onMarkReach(param);
 
         if (currentLocator != null)
             currentLocator.setMarkId(param);
+
+        lastMarkLocator = currentLocator;
+        }
     }
 
     protected void doPlaylistStarted(int param) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/media/content/playlist/PlaybackControlImpl.java
 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/media/content/playlist/PlaybackControlImpl.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java/org/videolan/media/content/playlist/PlaybackControlImpl.java
     2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java/org/videolan/media/content/playlist/PlaybackControlImpl.java
     2019-06-07 20:00:28.000000000 +0200
@@ -95,27 +95,6 @@
         player.seekPlayItem(item);
     }
 
-    protected void onChapterReach(int chapter) {
-        if (chapter <= 0)
-            return;
-        chapter--;
-        PlaylistInfo pi = player.getPlaylistInfo();
-        if (pi == null)
-            return;
-        TIMark[] marks = pi.getMarks();
-        if (marks == null)
-            return;
-        for (int i = 0, j = 0; i < marks.length; i++) {
-            if (marks[i].getType() == TIMark.MARK_TYPE_ENTRY) {
-                if (j == chapter) {
-                    notifyListeners(new PlaybackMarkEvent(this, i));
-                    return;
-                }
-                j++;
-            }
-        }
-    }
-
     protected void onMarkReach(int mark) {
         if (mark < 0) {
             return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bdj/java-j2se/java/io/FileInputStream.java 
new/libbluray-1.1.2/src/libbluray/bdj/java-j2se/java/io/FileInputStream.java
--- 
old/libbluray-1.1.1/src/libbluray/bdj/java-j2se/java/io/FileInputStream.java    
    2019-04-05 10:34:16.000000000 +0200
+++ 
new/libbluray-1.1.2/src/libbluray/bdj/java-j2se/java/io/FileInputStream.java    
    2019-06-07 20:00:28.000000000 +0200
@@ -23,6 +23,7 @@
 import org.videolan.BDJLoader;
 import org.videolan.BDJXletContext;
 import org.videolan.Logger;
+import org.videolan.MountManager;
 
 public class FileInputStream extends InputStream
 {
@@ -38,6 +39,27 @@
     public FileInputStream(File file) throws FileNotFoundException {
         String name = file != null ? file.getPath() : null;
 
+        /* Resolve resource urls obtained from URL.getPath(). */
+        /* Ex. Aeon Flux, Petit Prince: 
file:/tmp/libbluray-bdj-cache/100d22e59d6d4/VFSCache/BDMV/JAR/00001.jar!/menu.bin
 */
+        if (name != null && name.startsWith("file:")) {
+            int idx;
+            if ((idx = name.indexOf(".jar!/")) > 0 || (idx = 
name.indexOf(".jar!\\")) > 0) {
+                try {
+                    String mountPoint = 
MountManager.getMount(Integer.parseInt(name.substring(idx - 5, idx)));
+                    if (mountPoint != null) {
+                        name = mountPoint + name.substring(idx + 5);
+                        getLogger().info("Fixing invalid resource url " + file 
+ " --> " + name);
+                        file = new File(name);
+                    }
+                } catch (Exception e) {
+                    getLogger().error("" + e);
+                }
+            }
+            if (name.startsWith("file:")) {
+                System.err.println("ERROR: unresolved URL in FileInputStream: 
" + name);
+            }
+        }
+
         SecurityManager security = System.getSecurityManager();
         if (security != null) {
             security.checkRead(name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bluray-version.h 
new/libbluray-1.1.2/src/libbluray/bluray-version.h
--- old/libbluray-1.1.1/src/libbluray/bluray-version.h  2019-04-05 
10:35:15.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/bluray-version.h  2019-06-07 
20:02:18.000000000 +0200
@@ -27,9 +27,9 @@
 
 #define BLURAY_VERSION_MAJOR 1
 #define BLURAY_VERSION_MINOR 1
-#define BLURAY_VERSION_MICRO 1
+#define BLURAY_VERSION_MICRO 2
 
-#define BLURAY_VERSION_STRING "1.1.1"
+#define BLURAY_VERSION_STRING "1.1.2"
 
 #define BLURAY_VERSION \
     BLURAY_VERSION_CODE(BLURAY_VERSION_MAJOR, BLURAY_VERSION_MINOR, 
BLURAY_VERSION_MICRO)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/bluray.c 
new/libbluray-1.1.2/src/libbluray/bluray.c
--- old/libbluray-1.1.1/src/libbluray/bluray.c  2019-04-05 10:34:16.000000000 
+0200
+++ new/libbluray-1.1.2/src/libbluray/bluray.c  2019-06-07 20:00:28.000000000 
+0200
@@ -1579,19 +1579,23 @@
 
 static void _playmark_reached(BLURAY *bd)
 {
-    BD_DEBUG(DBG_BLURAY, "PlayMark %d reached (%"PRIu64")\n", bd->next_mark, 
bd->next_mark_pos);
+    while (bd->next_mark >= 0 && bd->s_pos > bd->next_mark_pos) {
 
-    _queue_event(bd, BD_EVENT_PLAYMARK, bd->next_mark);
-    _bdj_event(bd, BDJ_EVENT_MARK, bd->next_mark);
+        BD_DEBUG(DBG_BLURAY, "PlayMark %d reached (%"PRIu64")\n", 
bd->next_mark, bd->next_mark_pos);
 
-    /* update next mark */
-    bd->next_mark++;
-    if ((unsigned)bd->next_mark < bd->title->mark_list.count) {
-        bd->next_mark_pos = 
(uint64_t)bd->title->mark_list.mark[bd->next_mark].title_pkt * 192L;
-    } else {
-        bd->next_mark = -1;
-        bd->next_mark_pos = (uint64_t)-1;
-    }
+        _queue_event(bd, BD_EVENT_PLAYMARK, bd->next_mark);
+        _bdj_event(bd, BDJ_EVENT_MARK, bd->next_mark);
+
+        /* update next mark */
+        bd->next_mark++;
+        if ((unsigned)bd->next_mark < bd->title->mark_list.count) {
+            bd->next_mark_pos = 
(uint64_t)bd->title->mark_list.mark[bd->next_mark].title_pkt * 192L;
+        } else {
+            /* no marks left */
+            bd->next_mark = -1;
+            bd->next_mark_pos = (uint64_t)-1;
+        }
+    };
 
     /* chapter tracking */
     _update_chapter_psr(bd);
@@ -1908,19 +1912,7 @@
 static int _bd_read(BLURAY *bd, unsigned char *buf, int len)
 {
     BD_STREAM *st = &bd->st0;
-    int out_len;
-
-    if (st->fp) {
-        out_len = 0;
-        BD_DEBUG(DBG_STREAM, "Reading [%d bytes] at %"PRIu64"...\n", len, 
bd->s_pos);
-
-        if (st->clip == NULL) {
-            // We previously reached the last clip.  Nothing
-            // else to read.
-            _queue_event(bd, BD_EVENT_END_OF_TITLE, 0);
-            bd->end_of_playlist |= 1;
-            return 0;
-        }
+    int out_len = 0;
 
         while (len > 0) {
             uint32_t clip_pkt;
@@ -2054,18 +2046,38 @@
             bd->s_pos += size;
         }
 
-        /* mark tracking */
-        if (bd->next_mark >= 0 && bd->s_pos > bd->next_mark_pos) {
-            _playmark_reached(bd);
-        }
-
         BD_DEBUG(DBG_STREAM, "%d bytes read OK!\n", out_len);
         return out_len;
+}
+
+static int _bd_read_locked(BLURAY *bd, unsigned char *buf, int len)
+{
+    BD_STREAM *st = &bd->st0;
+    int r;
+
+    if (!st->fp) {
+        BD_DEBUG(DBG_STREAM | DBG_CRIT, "bd_read(): no valid title 
selected!\n");
+        return -1;
     }
 
-    BD_DEBUG(DBG_STREAM | DBG_CRIT, "bd_read(): no valid title selected!\n");
+    if (st->clip == NULL) {
+        // We previously reached the last clip.  Nothing
+        // else to read.
+        _queue_event(bd, BD_EVENT_END_OF_TITLE, 0);
+        bd->end_of_playlist |= 1;
+        return 0;
+    }
+
+    BD_DEBUG(DBG_STREAM, "Reading [%d bytes] at %"PRIu64"...\n", len, 
bd->s_pos);
+
+    r = _bd_read(bd, buf, len);
+
+    /* mark tracking */
+    if (bd->next_mark >= 0 && bd->s_pos > bd->next_mark_pos) {
+        _playmark_reached(bd);
+    }
 
-    return -1;
+    return r;
 }
 
 int bd_read(BLURAY *bd, unsigned char *buf, int len)
@@ -2073,7 +2085,7 @@
     int result;
 
     bd_mutex_lock(&bd->mutex);
-    result = _bd_read(bd, buf, len);
+    result = _bd_read_locked(bd, buf, len);
     bd_mutex_unlock(&bd->mutex);
 
     return result;
@@ -3544,7 +3556,7 @@
         }
     }
 
-    int bytes = _bd_read(bd, buf, len);
+    int bytes = _bd_read_locked(bd, buf, len);
 
     if (bytes == 0) {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libbluray-1.1.1/src/libbluray/disc/properties.c 
new/libbluray-1.1.2/src/libbluray/disc/properties.c
--- old/libbluray-1.1.1/src/libbluray/disc/properties.c 2019-04-05 
10:34:16.000000000 +0200
+++ new/libbluray-1.1.2/src/libbluray/disc/properties.c 2019-06-07 
20:00:28.000000000 +0200
@@ -60,7 +60,7 @@
         return 0;
     }
 
-    fp = file_open(file, "rt");
+    fp = file_open(file, "rb");
     if (!fp) {
         goto unlink;
     }
@@ -114,7 +114,7 @@
         return -1;
     }
 
-    fp = file_open(file, "wt");
+    fp = file_open(file, "wb");
     if (!fp) {
         return -1;
     }

++++++ libbluray-java9.patch ++++++
--- /var/tmp/diff_new_pack.Fu85nn/_old  2019-08-15 12:23:37.998632640 +0200
+++ /var/tmp/diff_new_pack.Fu85nn/_new  2019-08-15 12:23:37.998632640 +0200
@@ -1,51 +1,29 @@
---- libbluray-1.0.1/src/libbluray/bdj/build.xml        2017-03-02 
14:33:49.000000000 +0100
-+++ libbluray-1.0.1/src/libbluray/bdj/build.xml        2017-10-30 
08:32:10.295848485 +0100
-@@ -8,7 +8,6 @@
+--- libbluray-1.1.2/src/libbluray/bdj/build.xml.orig   2019-08-03 
18:40:05.427564607 +0200
++++ libbluray-1.1.2/src/libbluray/bdj/build.xml        2019-08-03 
18:40:05.451564195 +0200
+@@ -8,10 +8,9 @@
      <property name="dist"  location="../../.libs"/>
      <property name="src_awt" value=""/>
      <property name="src_asm" value="../../../contrib/asm/src/"/>
 -    <property name="bootclasspath" value=""/>
      <property name="version" value=""/>
+-    <property name="java_version_asm" value="1.5"/>
+-    <property name="java_version_bdj" value="1.4"/>
++    <property name="java_version_asm" value="1.6"/>
++    <property name="java_version_bdj" value="1.6"/>
  
      <target name="init">
-@@ -20,14 +19,12 @@
+         <tstamp/>
+@@ -22,13 +21,11 @@
      <target name="compile" depends="init"
              description="compile the source " >
          <javac srcdir="${src_asm}" destdir="${build}" debug="yes"
 -               bootclasspath="${bootclasspath}"
--               source="1.5" target="1.5">
-+               source="1.6" target="1.6">
+                source="${java_version_asm}" target="${java_version_asm}">
                 <compilerarg value="-XDignore.symbol.file"/>
                 <compilerarg value="-Xlint:-deprecation"/>
          </javac>
          <javac srcdir="${src}${src_awt}" destdir="${build}" debug="yes"
 -               bootclasspath="${bootclasspath}"
--               source="1.4" target="1.4">
-+               source="1.6" target="1.6">
+                source="${java_version_bdj}" target="${java_version_bdj}">
                 <compilerarg value="-XDignore.symbol.file"/>
                 <compilerarg value="-Xlint:-deprecation"/>
-         </javac>
---- libbluray-1.0.1/src/libbluray/bdj/java-j2se/java/io/BDFileSystemImpl.java
-+++ libbluray-1.0.1/src/libbluray/bdj/java-j2se/java/io/BDFileSystemImpl.java
-@@ -38,4 +38,9 @@ class BDFileSystemImpl extends BDFileSystem {
-     public long getSpace(File f, int t) {
-         return fs.getSpace(f, t);
-     }
-+
-+    /* Java 9 */
-+    public int getNameMax(String path) {
-+        return 255;
-+    }
- }
-
---- libbluray-1.0.1/src/libbluray/bdj/java-j2se/java/awt/peer/BDFramePeer.java 
2017-03-02 14:33:49.000000000 +0100
-+++ libbluray-1.0.1/src/libbluray/bdj/java-j2se/java/awt/peer/BDFramePeer.java 
2017-10-30 09:08:08.259034704 +0100
-@@ -173,7 +173,7 @@
-         return 
((BDToolkit)BDToolkit.getDefaultToolkit()).createImage((Component)null, width, 
height);
-     }
- 
--    public boolean requestFocus(Component c, boolean a, boolean b, long l, 
sun.awt.CausedFocusEvent.Cause d) {
-+    public boolean requestFocus(Component c, boolean a, boolean b, long l, 
FocusEvent.Cause d) {
-         if (c == null) {
-             return true;
-         }


Reply via email to