Ticket #6225: 6225_2.patch

File 6225_2.patch, 1.6 KB (added by Garry Yao, 9 years ago)
  • _source/core/dom/range.js

     
    14291429                        // Fixing invalid range end inside dtd empty elements.
    14301430                        if( endNode.type == CKEDITOR.NODE_ELEMENT
    14311431                                && CKEDITOR.dtd.$empty[ endNode.getName() ] )
    1432                                 endNode = endNode.getParent(), endOffset = endNode.getIndex() + 1;
     1432                                endOffset = endNode.getIndex() + 1, endNode = endNode.getParent();
    14331433
    14341434                        this.endContainer       = endNode;
    14351435                        this.endOffset          = endOffset;
  • _source/plugins/domiterator/plugin.js

     
    302302                                }
    303303                        }
    304304
     305                        // Ignore bookmark nodes.(#3783)
     306                        var bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true );
     307
    305308                        if ( removePreviousBr )
    306309                        {
    307310                                var previousSibling = block.getPrevious();
     
    316319
    317320                        if ( removeLastBr )
    318321                        {
    319                                 // Ignore bookmark nodes.(#3783)
    320                                 var bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true );
    321 
    322322                                var lastChild = block.getLast();
    323323                                if ( lastChild && lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.getName() == 'br' )
    324324                                {
     
    339339                                        block.getNextSourceNode( true, null, lastNode );
    340340                        }
    341341
     342                        if ( !bookmarkGuard( this._.nextNode ) )
     343                        {
     344                                this._.nextNode = this._.nextNode.getNextSourceNode( true, null, function( node )
     345                                        { return !node.equals( lastNode ) && bookmarkGuard( node ); } );
     346                        }
     347
    342348                        return block;
    343349                }
    344350        };
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy