Index: editors/js/ckeditor-3.0.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/ckeditor-3.0.js,v retrieving revision 1.2.4.7 diff -u -p -r1.2.4.7 ckeditor-3.0.js --- editors/js/ckeditor-3.0.js 19 Dec 2010 23:55:22 -0000 1.2.4.7 +++ editors/js/ckeditor-3.0.js 20 Dec 2010 00:12:44 -0000 @@ -166,10 +166,22 @@ Drupal.wysiwyg.editor.instance.ckeditor } if (typeof Drupal.wysiwyg.plugins[pluginName].invoke == 'function') { var pluginCommand = { - exec: function(editor) { - var data = { format: 'html', node: editor.getSelection().getSelectedElement() }; - // @todo This is NOT the same as data.node. - data.content = data.node ? data.node.innerHTML : ''; + exec: function (editor) { + var data = { format: 'html' }; + var selection = editor.getSelection(); + data.node = selection.getSelectedElement(); + if (selection.getType() == CKEDITOR.SELECTION_TEXT) { + if (CKEDITOR.env.ie) { + data.content = selection.getNative().createRange().text; + } + else { + data.content = selection ? selection.getNative().toString() : ''; + } + } + else { + data.content = selection ? data.node.$.innerHTML : ''; + } + data.node = data.node ? data.node.$ : null; Drupal.wysiwyg.plugins[pluginName].invoke(data, pluginSettings, editor.name); } };