From 0564b595cbe9dd3d571e0da7bb76b7edda72b456 Mon Sep 17 00:00:00 2001
From: gnaegi <none@none>
Date: Tue, 11 Oct 2016 18:37:14 +0200
Subject: [PATCH] OO-2270 fix NPE when course root node not visible (patch from
 Stephan Clemenz, VCRP)

---
 .../org/olat/course/run/RunMainController.java     | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java
index d82f35107b6..8c09f580035 100644
--- a/src/main/java/org/olat/course/run/RunMainController.java
+++ b/src/main/java/org/olat/course/run/RunMainController.java
@@ -251,12 +251,16 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 		// it is to correctly apply external links using course-internal links via javascript
 		coursemain.contextPut("courserepokey", courseRepositoryEntry.getKey());
 		coursemain.put("coursemain", columnLayoutCtr.getInitialComponent());
-		// on initial call we have to set the data-nodeid manually. later it will be updated by updateCourseDataAttributes() automatically. 
-		String initNodeId = currentCourseNode != null ? currentCourseNode.getIdent() : null;
-		if (initNodeId == null) {
-			initNodeId = treeModel.getRootNode().getIdent();
+		// on initial call we have to set the data-nodeid manually. later it
+		// will be updated by updateCourseDataAttributes() automatically, but
+		// only when course visible to users (menu tree not null)
+		if (treeModel != null) {
+			String initNodeId = currentCourseNode != null ? currentCourseNode.getIdent() : null;
+			if (initNodeId == null) {
+				initNodeId = treeModel.getRootNode().getIdent();
+			}
+			coursemain.contextPut("initNodeId", initNodeId);
 		}
-		coursemain.contextPut("initNodeId", initNodeId);
 		putInitialPanel(coursemain);
 
 		// disposed message controller must be created beforehand
-- 
GitLab