*** empty log message ***
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java index 1996a24..230876e 100644 --- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java +++ b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
@@ -861,6 +861,14 @@ URL result = getClass().getProtectionDomain().getCodeSource().getLocation(); String path = decode(result.getFile()); path = new File(path).getAbsolutePath().replace(File.separatorChar, '/'); + // TODO need a better test for windows + // If on Windows then cannoicalize the drive letter to be lowercase. + if (File.separatorChar == '\\') + if (Character.isUpperCase(path.charAt(0))) { + char[] chars = path.toCharArray(); + chars[0] = Character.toLowerCase(chars[0]); + path = new String(chars); + } if (path.endsWith(".jar")) //$NON-NLS-1$ path = path.substring(0, path.lastIndexOf("/") + 1); //$NON-NLS-1$ try { @@ -1411,20 +1419,10 @@ log = null; } } + private void setInstallLocation(String location) { - // TODO If the URL is a file: url and we are on a filesystem which is case insensitive but - // case-retaining then convert the first char (drive letter) to lowercase - // This is at best a hack but people use the location as a key and do equals - if (location.startsWith("file:")) { - if (new File("d:foo").equals(new File("D:foo"))) - if (Character.isUpperCase(location.charAt(5))) { - char[] chars = location.toCharArray(); - chars[5] = Character.toLowerCase(chars[5]); - location = new String(chars); - } - } installLocation = location; - System.getProperties().setProperty("eclipse.installURL", location); //$NON-NLS-1$ + System.getProperties().setProperty("eclipse.installURL", installLocation); //$NON-NLS-1$ } /** * Return a boolean value indicating whether or not the version of the JVM is