JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.1
[ckeditor.git] / _source / plugins / bidi / plugin.js
index a1ae6c8..2233ee1 100644 (file)
@@ -22,6 +22,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        {\r
                var editor = evt.editor,\r
                        path = evt.data.path;\r
+\r
+               if ( editor.readOnly )\r
+                       return;\r
+\r
                var useComputedState = editor.config.useComputedState,\r
                        selectedElement;\r
 \r
@@ -34,10 +38,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                selectedElement = selectedElement || path.block || path.blockLimit;\r
 \r
                // If we're having BODY here, user probably done CTRL+A, let's try to get the enclosed node, if any.\r
-               selectedElement.is( 'body' ) &&\r
-                       ( selectedElement = editor.getSelection().getRanges()[ 0 ].getEnclosedNode() );\r
+               if ( selectedElement.is( 'body' ) )\r
+               {\r
+                       var enclosedNode = editor.getSelection().getRanges()[ 0 ].getEnclosedNode();\r
+                       enclosedNode && enclosedNode.type == CKEDITOR.NODE_ELEMENT && ( selectedElement = enclosedNode );\r
+               }\r
 \r
-               if ( !selectedElement )\r
+               if ( !selectedElement  )\r
                        return;\r
 \r
                var selectionDir = useComputedState ?\r