From 6c96b1b7cd0313ce0d3afaac03db65662e31be39 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 26 Sep 2014 13:16:37 -0400
Subject: [PATCH] Initialize TinyMCE editor in rcmail.init() instead of a separate call after. This makes the edior ready when restoring a HTML message from localStorage (#1490016)

---
 program/include/rcmail.php |    6 +++---
 program/js/app.js          |    5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 1da2f8f..2f595de 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -1805,17 +1805,17 @@
             $lang = 'en';
         }
 
-        $script = json_encode(array(
+        $script = array(
             'mode'       => $mode,
             'lang'       => $lang,
             'skin_path'  => $this->output->get_skin_path(),
             'spellcheck' => intval($this->config->get('enable_spellcheck')),
             'spelldict'  => intval($this->config->get('spellcheck_dictionary'))
-        ));
+        );
 
         $this->output->include_script('tiny_mce/tiny_mce.js');
         $this->output->include_script('editor.js');
-        $this->output->add_script("rcmail_editor_init($script)", 'docready');
+        $this->output->set_env('html_editor_init', $script);
     }
 
     /**
diff --git a/program/js/app.js b/program/js/app.js
index 8469dc8..e6b1d84 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -187,6 +187,11 @@
     if (this.env.permaurl)
       this.enable_command('permaurl', 'extwin', true);
 
+    // initialize html editor
+    if (this.env.html_editor_init && window.rcmail_editor_init) {
+      rcmail_editor_init(this.env.html_editor_init);
+    }
+
     switch (this.task) {
 
       case 'mail':

--
Gitblit v1.9.1