Changeset 826


Ignore:
Timestamp:
09/15/07 13:50:06 (7 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