From 3c73a973a4db65648faaf63002f28d593071ec35 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Wed, 28 Aug 2013 08:22:00 +0200
Subject: [PATCH] OO-531: workaround to fix the freeze of the form in IE( if a
 rich text editor is used

---
 .../impl/elements/richText/RichTextElementRenderer.java       | 2 ++
 src/main/webapp/static/js/tinymce/BTinyHelper.js              | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
index a59efe0b7ec..df4cefa8bef 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
@@ -168,6 +168,8 @@ class RichTextElementRenderer implements ComponentRenderer {
 			// some special code to find out when the element is dirty. See the comments
 			// BTinyHelpers.js
 			sb.append("});");
+			sb.append("tinyMCE.get('").append(domID).append("').focus();");
+
 			
 			sb.append("} };");
 			sb.append(checkAndLoadTinyFunctionName).append("();");
diff --git a/src/main/webapp/static/js/tinymce/BTinyHelper.js b/src/main/webapp/static/js/tinymce/BTinyHelper.js
index 4cfdba4bae1..b431abdd402 100644
--- a/src/main/webapp/static/js/tinymce/BTinyHelper.js
+++ b/src/main/webapp/static/js/tinymce/BTinyHelper.js
@@ -112,8 +112,8 @@ var BTinyHelper = {
 		var newExecutor = jQuery.periodic({period: 500, decay:1.0, max_period: Number.MAX_VALUE}, function(executor) {
 			// first check if the html editor still exists on this page, otherwhise stop executing this code
 			var elem = jQuery('#' + elementId);
-			if (!elem) {
-				executor.cancel();
+			if (elem.length == 0) {
+				newExecutor.cancel();
 				BTinyHelper.formDirtyObservers.remove(observerKey);
 				return;
 			}
-- 
GitLab