diff --git a/src/java/org/lwjgl/LWJGLUtil.java b/src/java/org/lwjgl/LWJGLUtil.java index faa99d58..37ef17df 100644 --- a/src/java/org/lwjgl/LWJGLUtil.java +++ b/src/java/org/lwjgl/LWJGLUtil.java @@ -343,11 +343,19 @@ public class LWJGLUtil { } int major; int minor; + int patch; try { major = Integer.parseInt(os_version, 0, dotI, 10); - minor = Integer.parseInt(os_version, dotI + 1, os_version.length(), 10); + int dotI1 = os_version.indexOf('.', dotI + 1); + if (dotI1 == -1) { + minor = Integer.parseInt(os_version, dotI + 1, os_version.length(), 10); + patch = 0; + } else { + minor = Integer.parseInt(os_version, dotI + 1, dotI1, 10); + patch = Integer.parseInt(os_version, dotI1 + 1, os_version.length(), 10); + } } catch (Exception e) { - logger().log("Exception occurred while trying to determine OS version", e); + logger().log("Exception occurred while trying to determine OS version: " + os_version, e); // Best guess, no return false; }