From 1e2fe2a06a05256d4e580265042bb96a105aafee Mon Sep 17 00:00:00 2001
From: Simon Barner <barner@fortiss.org>
Date: Wed, 7 Mar 2018 14:47:39 +0000
Subject: [PATCH] Fix NPE when copying top-level elements from one project to
 another. refs 2347

---
 .../src/org/fortiss/tooling/kernel/ui/util/.ratings   |  2 +-
 .../tooling/kernel/ui/util/CopyPasteUtils.java        | 11 ++++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings
index fdef6020a..a0cc09a6b 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/.ratings
@@ -1,6 +1,6 @@
 ActionUtils.java b41f60eef8464224b98b0b62fd30221be4686a4d GREEN
 ConstraintsUIUtils.java 40a2893754ec8923a84889c7f5ae33873ccc3332 GREEN
-CopyPasteUtils.java 0c15b009bc7731dbd34349480d6bfa14af29e1b6 GREEN
+CopyPasteUtils.java 6c6c090f3c61854ce1a2331a710e23a18eaccd37 YELLOW
 DataBindingUtils.java 2d27702d42ae7d89922af314be20e18e771d107f GREEN
 DragAndDropUtils.java fc8b7667405f329a05ce60428161e4d096d6547c GREEN
 EObjectSelectionUtils.java 8e74691388cc7e19af23e6eae03460184cf179e5 GREEN
diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
index a0135f6a8..7da2d871b 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/util/CopyPasteUtils.java
@@ -237,14 +237,15 @@ public class CopyPasteUtils {
 
 	/**
 	 * Creates a @{link {@link EList} of the eContents of the current {@link EObject} and the
-	 * eConents of its container.
+	 * eContents of its container.
 	 */
 	private static EList<EObject> getContentsAtTwoLevels(EObject target) {
-		EList<EObject> containtsOfContainer = target.eContainer().eContents();
-		EList<EObject> contents = target.eContents();
 		EList<EObject> allContents = new BasicEList<EObject>();
-		allContents.addAll(containtsOfContainer);
-		allContents.addAll(contents);
+
+		if(target.eContainer() != null) {
+			allContents.addAll(target.eContainer().eContents());
+		}
+		allContents.addAll(target.eContents());
 
 		return allContents;
 	}
-- 
GitLab