org.symbian.tools.mtw.ui/src/org/symbian/tools/mtw/internal/deployment/DeploymentTargetTypeDescriptor.java
changeset 458 5ff93668b08c
parent 457 f1087591ff71
child 460 c0bff5ed874c
--- a/org.symbian.tools.mtw.ui/src/org/symbian/tools/mtw/internal/deployment/DeploymentTargetTypeDescriptor.java	Wed Jul 28 15:43:33 2010 -0700
+++ b/org.symbian.tools.mtw.ui/src/org/symbian/tools/mtw/internal/deployment/DeploymentTargetTypeDescriptor.java	Thu Jul 29 10:00:34 2010 -0700
@@ -75,17 +75,24 @@
     }
 
     private DeploymentTargetWrapper[] wrap(IDeploymentTarget[] targets) {
-        final DeploymentTargetWrapper[] w = new DeploymentTargetWrapper[targets.length];
-        for (int i = 0; i < targets.length; i++) {
-            final IDeploymentTarget target = targets[i];
-            DeploymentTargetWrapper wrapper = wrappers.get(target);
-            if (wrapper == null) {
-                wrapper = new DeploymentTargetWrapper(target, this);
-                wrappers.put(target, wrapper);
+        if (targets == null) {
+            return new DeploymentTargetWrapper[0];
+        } else {
+            final DeploymentTargetWrapper[] w = new DeploymentTargetWrapper[targets.length];
+            for (int i = 0; i < targets.length; i++) {
+                w[i] = wrap(targets[i]);
             }
-            w[i] = wrapper;
+            return w;
         }
-        return w;
+    }
+
+    private DeploymentTargetWrapper wrap(final IDeploymentTarget target) {
+        DeploymentTargetWrapper wrapper = wrappers.get(target);
+        if (wrapper == null) {
+            wrapper = new DeploymentTargetWrapper(target, this);
+            wrappers.put(target, wrapper);
+        }
+        return wrapper;
     }
 
     public void discoverTargets(IProgressMonitor monitor) throws CoreException {
@@ -93,7 +100,7 @@
     }
 
     public IDeploymentTarget findTarget(IMTWProject project, String id) {
-        return getProvider().findTarget(project, id);
+        return wrap(getProvider().findTarget(project, id));
     }
 
     private synchronized IDeploymentTargetType getProvider() {