Ticket #5850: 5850.patch

File 5850.patch, 1.8 KB (added by Garry Yao, 14 years ago)
  • _source/plugins/selection/plugin.js

     
    590590                                                        boundaryInfo = getBoundaryInformation( nativeRange );
    591591                                                        range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
    592592
     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
    593600                                                        return ( cache.ranges = [ range ] );
    594601                                                }
    595602                                                else if ( type == CKEDITOR.SELECTION_ELEMENT )
     
    703710                                                        node = node.getChild( range.startOffset );
    704711
    705712                                                        if ( !node || node.type != CKEDITOR.NODE_ELEMENT )
    706                                                                 return range.startContainer;
     713                                                                node = range.startContainer;
    707714
    708715                                                        var child = node.getFirst();
    709716                                                        while (  child && child.type == CKEDITOR.NODE_ELEMENT )
     
    711718                                                                node = child;
    712719                                                                child = child.getFirst();
    713720                                                        }
    714 
    715                                                         return node;
    716721                                                }
    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                        }
    734731
    735732                        return cache.startElement = ( node ? new CKEDITOR.dom.element( node ) : null );
    736733                },
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy