Ticket #5850: 5850_2.patch

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

     
    663663                                                        boundaryInfo = getBoundaryInformation( nativeRange );
    664664                                                        range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );
    665665
     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
    666673                                                        return [ range ];
    667674                                                }
    668675                                                else if ( type == CKEDITOR.SELECTION_ELEMENT )
     
    878885                                                        node = node.getChild( range.startOffset );
    879886
    880887                                                        if ( !node || node.type != CKEDITOR.NODE_ELEMENT )
    881                                                                 return range.startContainer;
     888                                                                node = range.startContainer;
    882889
    883890                                                        var child = node.getFirst();
    884891                                                        while (  child && child.type == CKEDITOR.NODE_ELEMENT )
     
    886893                                                                node = child;
    887894                                                                child = child.getFirst();
    888895                                                        }
    889 
    890                                                         return node;
    891896                                                }
    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                                                }
    904903
    905                                                 if ( node && node.nodeType != 1 )
    906                                                         node = node.parentNode;
     904                                                node = node.$;
    907905                                        }
    908906                        }
    909907
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy