Merge branch 'origin/master' into 'origin/maintenance'

* master:
  [471950] Fixed NPE while starting target platform without installation.

Change-Id: I34f32de7526144b269e273cca0a5e670ae50540f
Signed-off-by: Pavel Agapov <pavel.agapov@xored.com>
diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java
index 6e53409..3fccd9c 100644
--- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java
+++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/internal/launching/ext/Q7TargetPlatformInitializer.java
@@ -225,10 +225,10 @@
 	public static void logError(TargetPlatformHelper info) {
 		Q7ExtLaunchingPlugin.log(new MultiStatus(PLUGIN_ID, 0, new IStatus[]{info.getStatus()}, "Target platform initialization error", null));
 	}
-
+	
 	public static Q7Info getInfo(ITargetPlatformHelper target, Map<String, Version> versions) throws CoreException {
 		Map<String, Version> map = versions;
-		MultiStatus status = new MultiStatus(PLUGIN_ID, 0, "Invalid eclipse product location: " + target.getTargetPlatformProfilePath(), null);
+		MultiStatus status = new MultiStatus(PLUGIN_ID, 0, "Invalid eclipse target platform: " + target.toString(), null);
 		Version platform = map.get(AUTInformation.VERSION);
 		Version osgi = map.get(AUTInformation.OSGI);
 		if (platform == null)
diff --git a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java
index a323e68..883c373 100644
--- a/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java
+++ b/launching/org.eclipse.rcptt.launching.ext/src/org/eclipse/rcptt/launching/internal/target/TargetPlatformHelper.java
@@ -87,6 +87,7 @@
 import org.eclipse.rcptt.launching.injection.Entry;
 import org.eclipse.rcptt.launching.injection.InjectionConfiguration;
 import org.eclipse.rcptt.launching.injection.UpdateSite;
+import org.eclipse.rcptt.launching.internal.target.Q7Target.AutInstall;
 import org.eclipse.rcptt.launching.p2utils.P2Utils;
 import org.eclipse.rcptt.launching.target.ITargetPlatformHelper;
 import org.eclipse.rcptt.launching.target.TargetPlatformManager;
@@ -328,6 +329,9 @@
 
 	public String getTargetPlatformProfilePath() {
 		ProfileBundleContainer container = (ProfileBundleContainer) getInstanceContainer();
+		if (container == null) {
+			return "";
+		}
 		try {
 			return container.getLocation(true).toString();
 		} catch (CoreException e) {
@@ -1245,7 +1249,15 @@
 	}
 
 	ProfileBundleContainer getInstanceContainer() {
-		return getQ7Target().getInstall().container;
+		final Q7Target target = getQ7Target();
+		if (target == null) {
+			return null;
+		}
+		final AutInstall install = target.getInstall();
+		if (install == null) {
+			return null;
+		}
+		return install.container;
 	}
 
 	public void setBundleContainers(ITargetLocation[] containers) {