Ticket #3887: 3887.patch

File 3887.patch, 2.1 KB (added by Martin Kou, 10 years ago)
  • _source/plugins/domiterator/plugin.js

     
    6161                                walker.evaluator = ignoreBookmarkTextEvaluator;
    6262                                var lastNode = walker.previous();
    6363                                this._.lastNode = lastNode.getNextSourceNode( true );
     64
     65                                if ( this._.lastNode.type == CKEDITOR.NODE_TEXT && this._.lastNode.getLength() == 0 )
     66                                {
     67                                        // Special case for #3887:
     68                                        // We may have an empty text node at the end of block due to [3770].
     69                                        // If that node is the lastNode, it would cause our logic to leak to the
     70                                        // next block.
     71                                        var testRange = new CKEDITOR.dom.range( range.document );
     72                                        testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END );
     73                                        if ( testRange.checkEndOfBlock() )
     74                                        {
     75                                                var path = new CKEDITOR.dom.elementPath( testRange.endContainer );
     76                                                var block = path.block || path.blockLimit;
     77                                                this._.lastNode = block.getNextSourceNode( true );
     78                                        }
     79                                }
     80
    6481                                // Probably the document end is reached, we need a marker node.
    6582                                if ( !this._.lastNode )
    6683                                {
    6784                                                this._.lastNode = range.document.createText( '' );
    6885                                                this._.lastNode.insertAfter( lastNode );
    6986                                }
     87
    7088                                // Let's reuse this variable.
    7189                                range = null;
    7290                        }
  • CHANGES.html

     
    103103                <li><a href="http://dev.fckeditor.net/ticket/3868">#3868</a> : [chrome] SCAYT toolbar options was in reversed order.</li>
    104104                <li><a href="http://dev.fckeditor.net/ticket/3875">#3875</a> : Fixed an issue in Safari where
    105105                        table row/column/cell menus are not useable when table cells are selected.</li>
     106                <li><a href="http://dev.fckeditor.net/ticket/3887">#3887</a> : Fixed an issue in which the create
     107                        list command may leak outside of a selected table cell and into the rest of document.</li>
    106108        </ul>
    107109        <h3>
    108110                CKEditor 3.0 RC</h3>
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy