From 32077b1685410b4b5251ca6eade8e6c6a59ecf63 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 13 Mar 2012 05:09:47 -0400
Subject: [PATCH] - Fix js errors (spellcheck-related) when switching editor mode in identity screen

---
 program/js/app.js |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 755f107..3b2a148 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3150,7 +3150,7 @@
     var ed;
 
     if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody))) {
-      if (ed.plugins.spellchecker && ed.plugins.spellchecker.active)
+      if (ed.plugins && ed.plugins.spellchecker && ed.plugins.spellchecker.active)
         ed.execCommand('mceSpellCheck');
     }
     else if (ed = this.env.spellcheck) {
@@ -3165,12 +3165,13 @@
   {
     var ed, active;
 
-    if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins.spellchecker)
+    if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins && ed.plugins.spellchecker)
       active = ed.plugins.spellchecker.active;
     else if ((ed = this.env.spellcheck) && ed.state)
       active = ed.state != 'ready' && ed.state != 'no_error_found';
 
-    $('#'+rcmail.buttons.spellcheck[0].id)[active ? 'addClass' : 'removeClass']('selected');
+    if (rcmail.buttons.spellcheck)
+      $('#'+rcmail.buttons.spellcheck[0].id)[active ? 'addClass' : 'removeClass']('selected');
 
     return active;
   };
@@ -3180,7 +3181,7 @@
   {
     var ed;
 
-    if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins.spellchecker)
+    if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins && ed.plugins.spellchecker)
       return ed.plugins.spellchecker.selectedLang;
     else if (this.env.spellcheck)
       return GOOGIE_CUR_LANG;
@@ -3188,10 +3189,10 @@
 
   this.spellcheck_lang_set = function(lang)
   {
-    var editor;
+    var ed;
 
-    if (window.tinyMCE && (editor = tinyMCE.get(this.env.composebody)))
-      editor.plugins.spellchecker.selectedLang = lang;
+    if (window.tinyMCE && (ed = tinyMCE.get(this.env.composebody)) && ed.plugins)
+      ed.plugins.spellchecker.selectedLang = lang;
     else if (this.env.spellcheck)
       this.env.spellcheck.setCurrentLanguage(lang);
   };

--
Gitblit v1.9.1