Changeset 826


Ignore:
Timestamp:
09/15/2007 01:50:06 PM (8 years ago)
Author:
fredck
Message:

Fixed #1250 : There was a small bug in the FCKDomRangeIterator logic which was making it iterate out of the range boundaries.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/editor/_source/classes/fckdomrangeiterator.js

    r822 r826  
    3737         */
    3838        this.ForceBrBreak = false ;
    39        
     39
    4040        /**
    4141         * Guarantees that the iterator will always return "real" block elements.
     
    6464                // The block element to be returned.
    6565                var block ;
    66                
     66
    6767                // The range object used to identify the paragraph contents.
    6868                var range ;
    69                
     69
    7070                // Indicated that the current element in the loop is the last one.
    7171                var isLast ;
    72                
     72
    7373                // Instructs to cleanup remaining BRs.
    7474                var removePreviousBr ;
     
    161161                        }
    162162
    163                         // The last node has been found.               
     163                        // The last node has been found.
    164164                        isLast = ( currentNode == lastNode ) ;
    165165
     
    178178
    179179                                        currentNode = parentNode ;
     180                                        isLast = ( currentNode == lastNode ) ;
    180181                                        continueFromSibling = true ;
    181182                                }
     
    230231                                // Insert the fixed block into the DOM.
    231232                                range.InsertNode( block ) ;
    232                                
     233
    233234                                removePreviousBr = true ;
    234                                 removeLastBr = true ;                           
     235                                removeLastBr = true ;
    235236                        }
    236237                        else if ( block.nodeName.toLowerCase() != 'li' )
     
    251252                                        // right position for our intents.
    252253                                        var splitInfo = range.SplitBlock() ;
    253                                        
     254
    254255                                        removePreviousBr = !splitInfo.WasStartOfBlock ;
    255256                                        removeLastBr = !splitInfo.WasEndOfBlock ;
     
    265266                                // the current range, which could be an <li> child (nested
    266267                                // lists) or the next sibling <li>.
    267                                
     268
    268269                                this._NextNode = FCKDomTools.GetNextSourceNode( range.EndNode, true ) ;
    269270                                return block ;
     
    277278                                previousSibling.parentNode.removeChild( previousSibling ) ;
    278279                }
    279                
     280
    280281                if ( removeLastBr )
    281282                {
     
    284285                                block.removeChild( lastChild ) ;
    285286                }
    286                
     287
    287288                // Get a reference for the next element. This is important because the
    288289                // above block can be removed or changed, so we can rely on it for the
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy