gluegen: remove two fast-path tests that can never trigger
ignores and unimplemented are both Set<Pattern>, they cannot contain a String, immediately after these 'fast paths' we loop over the patterns calling .matches() which makes sense, so remove the misleading tests.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
gluegen: replace Thread name with name of lock file in SingletonInstanceFileLock error message
The getName() call here is currently calling Thread.getName() inherited by the anonymous inner class. This is ambiguous, and likely meant to call the getName() method of SingletonInstanceFileLock, which would output the lockfile name.
In any event, infoPrefix() is already adding the Thread name for us.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Fix Buffers.copy<Type>Buffer[asByteBuffer](..): Reset position of the passed buffer (was missing).
This is an API regression as introduced in commit 25cc744f6bd5ca97e0ae58fa7e1c35f7b0f3046d where JOGL's BufferUtil and GlueGen's were merged and API doc elaborated. The latter states the desired fact that the source passed buffer's position shall remain unchanged, however no code was added to take care of this detail.
Revert "Minor revert of clone replacement w/ copt-ctor of commit d7fb6a7bcfbd2d5ac452abdcdd31fb4d71441c70"
This reverts commit 73e8828566404e864170688dfb4fd530a83f8add.
Convinced after discussing semantics w/ Harvey Harrison:
"the copy-constructor is way for predictable (as in branch-predictable) and has better cache behavior, it can issue almost all the writes in parallel, and has no exception catching.
So, the copy-constructor actually ends up being more efficient, and you get typechecking to boot."
Fix VersionNumber: Non digits cut off pattern was '\D.*' and cut off digits in case leading non digits appear.
'\D.*' matches a leading non-digit and then any character.
First the string is tokenized by delim: "OpenGL ES GLSL ES 1.0.16" -> "OpenGL ES GLSL ES 1", "0", "16"
Enhance pattern as follows and access collected group if matching: // group1: \D* == leading non digits, optional // group2: \d* == digits // group3: .* == any pending chars, optional final java.util.regex.Pattern nonDigitsCutOff = java.util.regex.Pattern.compile("(\\D*)(\\d*)(.*)");
Reorganized storage from atomic values to int[3] array, allowing simple pattern matching loop.
Fix Bug 608: Push down TempJarCache.findLibrary(..) from JNILibLoaderBase.loadLibraryInternal() to NativeLibrary.findLibrary(..)
This allows using TempJarCache (if used/initialized) for native 'tool' libraries as well. This is the case of JOAL's attempt to load the provided 'libopenal.so'
On Android > 4.0.3 (maybe even earlier), w/ a split filesystem (internal and SDCARD) the JNI libs maybe stored at a different location than it's data path. ApplicationInfo's nativeLibraryDir properly determines the JNI storage location, hence use it.
Prev. code also derived JNI lib path by the launcher's ApplicationInfo's nativeLibraryDir, which might be different than the user package's nativeLibraryDir. This is especially true, since the launcher may not hold any native libraries.