Ticket #5850: 5850_2.patch
File 5850_2.patch, 1.7 KB (added by , 13 years ago) |
---|
-
_source/plugins/selection/plugin.js
663 663 boundaryInfo = getBoundaryInformation( nativeRange ); 664 664 range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset ); 665 665 666 // Correct an invalid IE range case on empty list item. (#5850) 667 if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING 668 && range.endOffset <= range.startContainer.getIndex() ) 669 { 670 range.collapse(); 671 } 672 666 673 return [ range ]; 667 674 } 668 675 else if ( type == CKEDITOR.SELECTION_ELEMENT ) … … 878 885 node = node.getChild( range.startOffset ); 879 886 880 887 if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) 881 returnrange.startContainer;888 node = range.startContainer; 882 889 883 890 var child = node.getFirst(); 884 891 while ( child && child.type == CKEDITOR.NODE_ELEMENT ) … … 886 893 node = child; 887 894 child = child.getFirst(); 888 895 } 889 890 return node;891 896 } 892 } 893 894 if ( CKEDITOR.env.ie ) 895 { 896 range = sel.createRange(); 897 range.collapse( 1 ); 898 899 node = range.parentElement(); 900 } 901 else 902 { 903 node = sel.anchorNode; 897 else 898 { 899 node = range.startContainer; 900 if ( node.type != CKEDITOR.NODE_ELEMENT ) 901 node = node.getParent(); 902 } 904 903 905 if ( node && node.nodeType != 1 ) 906 node = node.parentNode; 904 node = node.$; 907 905 } 908 906 } 909 907