Skip to content

Commit dfe0a6f

Browse files
committed
fix(core): hide extract directory in non-temp path
1 parent a057bc9 commit dfe0a6f

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

Diff for: doc/notes/3.3.0.md

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ This build includes the following changes:
9191

9292
- Generator: Native libraries are now initialized before constants. (#630)
9393
- Core: Fixed unsafe field reads in `MemoryUtil` setup code. (#632)
94+
- Core: The `SharedLibraryLoader` now prepends a `.` to `SHARED_LIBRARY_EXTRACT_DIRECTORY` when the target directory is not temporary.
9495
- EGL: Fixed nullability of `eglInitialize` arguments.
9596
- GLFW: Fixed main thread check. Setting `GLFW_CHECK_THREAD0` to `false` is now required for offscreen interop. (#538)
9697
- OpenCL: Added missing `errcode_ret` parameter to `clLinkProgram`. (#560)

Diff for: modules/lwjgl/core/src/main/java/org/lwjgl/system/SharedLibraryLoader.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -104,25 +104,25 @@ private static Path getExtractPath(String filename, URL resource) {
104104

105105
String version = Version.getVersion().replace(' ', '-');
106106

107-
Path tempDirectory;
108107
Path root, file;
109108

110109
// Temp directory with username in path
111-
tempDirectory = Paths.get(Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY.get("lwjgl" + System.getProperty("user.name")), version, filename);
112-
file = (root = Paths.get(System.getProperty("java.io.tmpdir"))).resolve(tempDirectory);
110+
file = (root = Paths.get(System.getProperty("java.io.tmpdir")))
111+
.resolve(Paths.get(Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY.get("lwjgl" + System.getProperty("user.name")), version, filename));
113112
if (canWrite(root, file, resource)) {
114113
return file;
115114
}
116115

116+
Path lwjgl_version_filename = Paths.get("." + Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY.get("lwjgl"), version, filename);
117+
117118
// Working directory
118-
tempDirectory = Paths.get(Configuration.SHARED_LIBRARY_EXTRACT_DIRECTORY.get("lwjgl"), version, filename);
119-
file = (root = Paths.get("").toAbsolutePath()).resolve(tempDirectory);
119+
file = (root = Paths.get("").toAbsolutePath()).resolve(lwjgl_version_filename);
120120
if (canWrite(root, file, resource)) {
121121
return file;
122122
}
123123

124124
// User home
125-
file = (root = Paths.get(System.getProperty("user.home"))).resolve(tempDirectory);
125+
file = (root = Paths.get(System.getProperty("user.home"))).resolve(lwjgl_version_filename);
126126
if (canWrite(root, file, resource)) {
127127
return file;
128128
}
@@ -131,7 +131,7 @@ private static Path getExtractPath(String filename, URL resource) {
131131
// C:\Windows\Temp
132132
String env = System.getenv("SystemRoot");
133133
if (env != null) {
134-
file = (root = Paths.get(env, "Temp")).resolve(tempDirectory);
134+
file = (root = Paths.get(env, "Temp")).resolve(lwjgl_version_filename);
135135
if (canWrite(root, file, resource)) {
136136
return file;
137137
}
@@ -140,7 +140,7 @@ private static Path getExtractPath(String filename, URL resource) {
140140
// C:\Temp
141141
env = System.getenv("SystemDrive");
142142
if (env != null) {
143-
file = (root = Paths.get(env + "/")).resolve(Paths.get("Temp").resolve(tempDirectory));
143+
file = (root = Paths.get(env + "/")).resolve(Paths.get("Temp").resolve(lwjgl_version_filename));
144144
if (canWrite(root, file, resource)) {
145145
return file;
146146
}

0 commit comments

Comments
 (0)