X-Git-Url: http://secure.phpeclipse.com

diff --git a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java
index 56c6101..0613535 100644
--- a/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java
+++ b/net.sourceforge.phpeclipse.launching/src/net/sourceforge/phpdt/internal/launching/PHPRuntime.java
@@ -49,11 +49,11 @@ public class PHPRuntime {
 		return selectedInterpreter;
 	}
 
-	public PHPInterpreter getInterpreter(String name) {
+	public PHPInterpreter getInterpreter(String installLocation) {
 		Iterator interpreters = getInstalledInterpreters().iterator();
 		while(interpreters.hasNext()) {
 			PHPInterpreter each = (PHPInterpreter) interpreters.next();
-			if (each.getName().equals(name))
+			if (each.getInstallLocation().toString().equals(installLocation))
 				return each;
 		}
 		
@@ -103,17 +103,20 @@ public class PHPRuntime {
 	protected void loadRuntimeConfiguration() {
 		installedInterpreters = new ArrayList();
 		try {
-			XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
-			reader.setContentHandler(getRuntimeConfigurationContentHandler());
-			reader.parse(new InputSource(getRuntimeConfigurationReader()));
+			File file = getRuntimeConfigurationFile();
+			if (file.exists()) {
+		  	    XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
+			    reader.setContentHandler(getRuntimeConfigurationContentHandler());
+			    reader.parse(new InputSource(getRuntimeConfigurationReader(file)));
+			}
 		} catch(Exception e) {
 			PHPLaunchingPlugin.log(e);
 		}
 	}
 
-	protected Reader getRuntimeConfigurationReader() {
+	protected Reader getRuntimeConfigurationReader(File file) {
 		try {
-			return new FileReader(getRuntimeConfigurationFile());
+			return new FileReader(file);
 		} catch(FileNotFoundException e) {}
 		return new StringReader("");
 	}
@@ -126,7 +129,7 @@ public class PHPRuntime {
 				writer.write("<interpreter name=\"");
 				
 				PHPInterpreter entry = (PHPInterpreter) interpretersIterator.next();
-				writer.write(entry.getName());
+//				writer.write(entry.getName());
 				writer.write("\" path=\"");
 				writer.write(entry.getInstallLocation().toString());
 				writer.write("\"");
@@ -151,9 +154,14 @@ public class PHPRuntime {
 			public void endPrefixMapping(String prefix) throws SAXException {}
 			public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
 				if ("interpreter".equals(qName)) {
-					String interpreterName = atts.getValue("name");
-					IPath installLocation = new Path(atts.getValue("path"));
-					PHPInterpreter interpreter = new PHPInterpreter(interpreterName, installLocation);
+ 					String interpreterName = atts.getValue("name");
+ 					java.io.File installLocation;
+ 					if (interpreterName!=null) {
+ 				 	  installLocation = new File(atts.getValue("path")+File.separatorChar+interpreterName);
+ 					} else {
+					  installLocation = new File(atts.getValue("path"));
+ 					}
+					PHPInterpreter interpreter = new PHPInterpreter(installLocation);
 					installedInterpreters.add(interpreter);
 					if (atts.getValue("selected") != null)
 						selectedInterpreter = interpreter;