Ticket #5850: 5850.patch
File 5850.patch, 1.8 KB (added by , 14 years ago) |
---|
-
_source/plugins/selection/plugin.js
590 590 boundaryInfo = getBoundaryInformation( nativeRange ); 591 591 range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset ); 592 592 593 // Correct an invalid IE range case on empty list item. (#5850) 594 if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING 595 && range.endOffset <= range.startContainer.getIndex() ) 596 { 597 range.collapse(); 598 } 599 593 600 return ( cache.ranges = [ range ] ); 594 601 } 595 602 else if ( type == CKEDITOR.SELECTION_ELEMENT ) … … 703 710 node = node.getChild( range.startOffset ); 704 711 705 712 if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) 706 returnrange.startContainer;713 node = range.startContainer; 707 714 708 715 var child = node.getFirst(); 709 716 while ( child && child.type == CKEDITOR.NODE_ELEMENT ) … … 711 718 node = child; 712 719 child = child.getFirst(); 713 720 } 714 715 return node;716 721 } 717 } 718 719 if ( CKEDITOR.env.ie ) 720 { 721 range = sel.createRange(); 722 range.collapse( true ); 723 724 node = range.parentElement(); 725 } 726 else 727 { 728 node = sel.anchorNode; 729 730 if ( node && node.nodeType != 1 ) 731 node = node.parentNode; 732 } 733 } 722 else 723 { 724 node = range.startContainer; 725 if ( node.type != CKEDITOR.NODE_ELEMENT ) 726 node = node.getParent(); 727 } 728 node = node.$; 729 } 730 } 734 731 735 732 return cache.startElement = ( node ? new CKEDITOR.dom.element( node ) : null ); 736 733 },