From 93f833c64e11f8725228bc6814554ab5b3c1dd9c Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 10 Feb 2015 15:57:51 +0100
Subject: [PATCH] OO-1432: fix event loop in course runtime controller

---
 .../olat/course/run/CourseRuntimeController.java   | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/olat/course/run/CourseRuntimeController.java b/src/main/java/org/olat/course/run/CourseRuntimeController.java
index 10ca9f9786e..10eec654cd7 100644
--- a/src/main/java/org/olat/course/run/CourseRuntimeController.java
+++ b/src/main/java/org/olat/course/run/CourseRuntimeController.java
@@ -752,7 +752,13 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im
 				initToolbar();
 				toolControllerDone(ureq);
 			}
-		} else if(source == editorCtrl && source instanceof VetoableCloseController) {
+		} else if(source == leaveDialogBox) {
+			if (DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event)) {
+				doLeave(ureq);
+			}
+		}
+		
+		if(editorCtrl == source && source instanceof VetoableCloseController) {
 			if(event == Event.DONE_EVENT) {
 				if(delayedClose != null) {
 					switch(delayedClose) {
@@ -783,11 +789,7 @@ public class CourseRuntimeController extends RepositoryEntryRuntimeController im
 					fireEvent(ureq, Event.DONE_EVENT);
 				}
 			}
-		} else if(source == leaveDialogBox) {
-			if (DialogBoxUIFactory.isYesEvent(event) || DialogBoxUIFactory.isOkEvent(event)) {
-				doLeave(ureq);
-			}
-		}
+		} 
 		
 		super.event(ureq, source, event);
 	}
-- 
GitLab