From 67d9371e21bfd5f46aaa87fb5c04e5051fc0df17 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Wed, 17 Apr 2013 17:25:38 +0200 Subject: [PATCH] [FIX] really fix errors in popup dialogs [IMP] also mark the form as dirty the second time we adit an object --- web_ckeditor4/static/src/js/web_ckeditor4.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/web_ckeditor4/static/src/js/web_ckeditor4.js b/web_ckeditor4/static/src/js/web_ckeditor4.js index 991edd3f9..a2f7ebe38 100644 --- a/web_ckeditor4/static/src/js/web_ckeditor4.js +++ b/web_ckeditor4/static/src/js/web_ckeditor4.js @@ -84,6 +84,7 @@ openerp.web_ckeditor4 = function(openerp) fragment.writeHtml(ckeditor_writer); return ckeditor_writer.getHtml(); }; + default_ckeditor_filter = new CKEDITOR.filter( { '*': @@ -122,10 +123,7 @@ openerp.web_ckeditor4 = function(openerp) { 'beforeUndoImage': function() { - if(!self.is_dirty()) - { - self.on_ui_change(); - } + self.on_ui_change(); }, }, }, @@ -163,7 +161,11 @@ openerp.web_ckeditor4 = function(openerp) } else { - self.editor.setData(value || ''); + //set_value is called shortly before saving and closing + //popups. if we don't suppress ckeditor's events about + //that, we get a lot of strange errors concerning + //already cleaned up elements + self.editor.setData(value || '', null, true); } } this._super.apply(this, arguments); @@ -174,7 +176,7 @@ openerp.web_ckeditor4 = function(openerp) { if(this.editor) { - this.$element.find('textarea').detach(); + this.editor.destroy(); } return this._super.apply(this, arguments); }