Ticket #7179: 7179.patch

File 7179.patch, 1.5 KB (added by Garry Yao, 9 years ago)
  • _source/core/dom/rangelist.js

     
    163163                        {
    164164                                for ( var i = 0 ; i < this.length ; i++ )
    165165                                        this[ i ].moveToBookmark( bookmarks[ i ] );
     166                        },
     167
     168                        /**
     169                         * Create a copy of list with range inside cloned.
     170                         */
     171                        clone : function()
     172                        {
     173                                var clone = [];
     174                                // Clone each range.
     175                                for ( var i = 0 ; i < this.length ; i++ )
     176                                        clone.push( this[ i ].clone() );
     177                                return new CKEDITOR.dom.rangeList( clone );
    166178                        }
    167179        };
    168180
  • _source/plugins/selection/plugin.js

     
    771771                        {
    772772                                var cache = this._.cache;
    773773                                if ( cache.ranges && !onlyEditables )
    774                                         return cache.ranges;
     774                                        return cache.ranges.clone();
    775775                                else if ( !cache.ranges )
    776776                                        cache.ranges = new CKEDITOR.dom.rangeList( func.call( this ) );
    777777
    778778                                // Split range into multiple by read-only nodes.
    779779                                if ( onlyEditables )
    780780                                {
    781                                         var ranges = cache.ranges;
     781                                        var ranges = cache.ranges.clone();
    782782                                        for ( var i = 0; i < ranges.length; i++ )
    783783                                        {
    784784                                                var range = ranges[ i ];
     
    854854
    855855                                                walker.next();
    856856                                        }
     857                                        return ranges;
    857858                                }
    858859
    859                                 return cache.ranges;
     860                                return cache.ranges.clone();
    860861                        };
    861862                })(),
    862863
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy